现在的位置: 首页 > 综合 > 正文

同一时刻只允许一个客户端连接的例子

2017年12月03日 ⁄ 综合 ⁄ 共 1782字 ⁄ 字号 评论关闭

最近做一个关于服务器和客户端互相通信的程序,题目有两个要求:1.服务器只能接收一个客户端的连接,当有第二个客户端连接时就会失败;2.当已经连接的客户端断开后,其他的客户端就可以去连接服务器了。

 

这样的要求看似很简单,但做的过程中我才发现,客户端程序很好写,可服务器端有点麻烦了。首先只能接收一个客户端连接的服务器程序,这个很另类,网上找了大多都是研究怎么让服务器可以同时与多个客户端打交道,于是只能自己慢慢搞了。

实践过程中,我发现,只要服务器端在调用了accept函数之后把用于listen用的socket给关闭掉,这样就能让第二个客户端连接时返回SOCKET_ERROR。第一个要求算是完成了,下面是第二个要求。要完成第二个要求首先就得能知道客户端断开连接了,然后再重新listen并accept,重复第一次的步骤。这个步骤说来也简单,但到底选用哪个模型来实现呢,细节问题怎么处理呢?可是苦了我这个菜鸟。还好最后找到方法了,把代码贴到这里保存下

抱歉!评论已关闭.