摘要: 在前面,我们封装好了线程池与Socket的相关组件,接下来我们实现几个将简单的实例。首先,我们可以将用户实现的回调函数封装到class中直接绑定,这样,简洁的main函数中,我们只需传递相应的IP与port,然后启动服务器即可。然后,我们可以实现一个群聊的小程序,我们需要将连接的客户端保存好,然后遍... 阅读全文
posted @ 2014-10-23 21:29 (@_@)ゞ 阅读(281) 评论(0) 推荐(0)
摘要: 我们要封装Socket,首先我们需要了解Socket需要哪些要素: 1) 首先,一个套接字创建后,需要绑定一块网卡的IP,以及连接的对口号,所以我们先封装InetAddr。在class中,仅有的一个私有成员就是struct sockaddr_in类型的一个对象,我们需要将该对象的几种赋值与创建封装... 阅读全文
posted @ 2014-10-23 21:05 (@_@)ゞ 阅读(998) 评论(0) 推荐(0)
摘要: 在TCP连接中,我们会遇到端口复用、粘包问题等。当server端主动关闭socket,会产生一个TIME_WAIT的状态,所以我们需要加上端口复用的选项,来解决该问题。由于TCP是个流协议,所以无法提供报文服务,这就需要去处理粘包问题,解决方法有: 1) 采用固定长度发送数据,这样做的话局限性比较... 阅读全文
posted @ 2014-10-23 17:29 (@_@)ゞ 阅读(300) 评论(0) 推荐(0)