服务器常用模型
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.关闭连接