基本Socket通信流程

亡梦爱人 提交于 2020-03-22 05:00:27

服务器常用模型

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.关闭连接





标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!