概述
我一直在努力解决这个问题 . 我有一个在c中运行的TCP服务器,它基本上有两个状态,第一个是Listening,它会运行一段时间并监听连接,然后稍微休眠一下 . 如果它检测到连接,那么它将开始从队列发送信息并侦听传入的信息 . 如果它检测到“*”,那么它将在客户端上调用close(),并开始再次侦听重新连接 . 我的问题是,当这种情况发生时,客户端尝试重新连接它不起作用 . 在c服务器上调用accept返回-1,而python客户端成功连接但收到无限量的空字符 . 我错过了关闭连接的一步吗?或者他们是我需要的setockopt?
这是设置服务器套接字
//我们想忽略SIGPIP错误并手动处理它们
信号(SIGPIPE,SIG_IGN);
//SEt up a timout of 5 milliseconds for sending a recieveing
struct timeval timeout;
timeout.tv_sec = 0;
timeout.tv_usec = 5;
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = INADDR_ANY;
serv_addr.sin_port = htons(port_num);
std::string devname = "wlan0";
setsockopt(m_Socket.GetData(), SOL_SOCKET, SO_REUSEPORT, devname.c_str(), strlen(devname.c_str()));
setsockopt(m_Socket.GetData(), SOL_
最后
以上就是殷勤龙猫为你收集整理的java重新连接tcp,如何处理TCP客户端丢弃和重新连接的全部内容,希望文章能够帮你解决java重新连接tcp,如何处理TCP客户端丢弃和重新连接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复