我需要我的服务器保持与服务器的连接。有人知道怎么做吗?或者发布链接教程之类的东西?
它还说,当它重新启动时,“无法接受客户端”,那么我如何清除所有内容并使其接受它?
发布于 2009-03-07 02:11:23
服务器代码:
对于您的服务器端代码,执行一个包装accept调用的循环。对于已创建的已接受套接字,创建一个新线程,以便立即调用下一个accept。
在服务器启动时,您可能还希望使用SO_REUSEADDR标志。这样,如果您遇到崩溃,甚至是程序的快速重启,那么您的服务器将能够再次使用相同的端口,而不会出现问题。
客户端代码:
对于您的客户端代码,您只需检查套接字错误,如果发生,只需建立一个新的连接。
其他资源:
其他选项:
您还可以尝试使用boost asio来简化套接字编程,而不是使用普通的bsd样式的套接字。你可以看看他们的examples page。
https://stackoverflow.com/questions/621157
复制相似问题