在c ++服务器代码中,当第一次读取没有以预期的字符开头时,我需要关闭套接字:
char buff_truc[4] = {0};
read(mysock, buff_truc, sizeof buff_truc) ;
if ( memcmp( buff_truc, "TRUC", 4 ) != 0 ) {
close(mysock);
}
要求我在关闭之前阅读可用传入数据的全部内容以忽略它们。
我试过像
这样的东西char buff[8] = {0};
do {
lu = read( mysock, buff, sizeof buff);
} while (lu > 0);
但它等待套接字超时告诉我它读取零字节
答案 0 :(得分:0)
如果您并不真正关心您收到的数据。(收到的缓冲区不是以&#34开头; TRUC")。你可以关闭套接字。
我试过像
这样的东西
您是否在关闭套接字之前尝试过客户端?