基本Socket通信流程
生活随笔
收集整理的這篇文章主要介紹了
基本Socket通信流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
服務器常用模型
1.初始化Socket (用于監聽)
1)初始化
SOCKET s ;
s = ?Socket ( ... )
2)綁定
bind(s, ...);
3)監聽
listen(s, ...);
2.建立連接
1)檢查狀態
int ret = select ( ... ) ;
if ( ret > 0 ) {
//新連接
}
2)建立新連接 (如果有客戶端請求連接)
temp = accept ( ... ); ? // 注意,此時并不使用原來的Socket,而是新建一個Socket (temp)來跟客戶端通信
3.收發數據
1)檢測讀入數據
int ret = select ( ... )
if ( ret > 0 ) {
// 有新數據
}
2)接收數據
ret = ?recv ( ...);
3)檢查發送數據
int ret = select ( ... ) ;
4)發送數據
ret = send ( ... );
客戶端常用模型
1.初始化
1)創建Socket
s = Socket ( ... )
2)綁定端口
bind(s , ... ) ; ? // 客戶端的IP地址和端口都不需要固定,可由系統自動分配。因此可以不使用bind綁定端口與協議。
2.建立連接
connect( ... )
3.收發數據
同服務端
4.關閉連接
轉載于:https://www.cnblogs.com/fysola/p/4808966.html
總結
以上是生活随笔為你收集整理的基本Socket通信流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用字符串解析的方式完成计算器的设计思路
- 下一篇: 源代码管理GIT