为什么SOCKET通信 只能收到第一条信息呢呢
发布网友
发布时间:2022-05-29 09:41
我来回答
共1个回答
热心网友
时间:2023-10-14 19:34
你是每一次都要重新连接一下你的发送端,发送端会accept两次。
那你的接收端 在while内要closesocket(sockClient);呢? 你close了 还怎么连呢?
你在connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));这里面。追问能在具体说说嘛?我该怎么调整顺序呢?发送端的我好想明白点了 是把sockConn = accept( sockSrv , (SOCKADDR*)&addrClient , &len ); 拿到WHILE循环外面是吗?可是接收端 没太明白
追答其实我是没理解你为什么要每次发送一条信息都要连接一次对方。如果你不断开的话是可以继续发送的。
你这种写法的话。你在接收端while最后是关闭socket你关闭的是连接对面需要的socket而不是现在connect中的socket我记得connect是会返回一个socket描述符的。你可以关闭那一个。