【发布时间】:2018-08-07 07:42:13
【问题描述】:
我真的很头疼。
如果我有很多socket客户端,只有一个socket服务器,我怎样才能让服务器只接受他收到的第一个connect()命令,而其他客户端的所有其他connect()都失败?我在 linux 中使用 C 顺便说一句
我真的很难回答这个问题。换句话说,我怎样才能让客户确认“嘿,这个 ip 的这个端口号正忙,我可能需要尝试另一个。”
我的老师告诉我,如果我只是让一个客户端连接到服务器,而另一个客户端最近连接到同一个 ip 相同的端口,我会得到一个超时错误。但是,好吧,我就是找不到错误在哪里。 两个客户端的 connect() 函数都返回 0。
也许我误会了老师的话,但由于程序没有崩溃,函数没有返回负数,它在哪里,我怎么才能找到它?
非常感谢。
【问题讨论】:
-
呃,只调用一次
accept(),成功后关闭监听socket?