楼主 我的Socket通讯发送部分出问题了。。。来请教下
我遇到的问题是,在服务端的发送线程中,while(1)循环发送字符串send(clientfd,sendline,strlen(sendline),0); 然后在linux系统中运行另外一个客户端的接收程序,完全没问题。。。。可是,当客户端是用 VB2008编写的,在接收时就出现了问题 rdStream = New StreamReader(netStream)......While rdStream.Peek <> -1 re_buff = rdStream.Readline() MessageBox.Show(re_buff) End While 它非要等到linux的服务端关闭我实验了下也就是 close(clientfd)之后才能接收到发送的字符,要不然就一直在执行re_buff = rdStream.Readline()这句。。。而且接收到的字符串很长,根本就不是发送的长度。。。给我的感觉是 linux服务端一直在不同的发送着,然后客户端就在不停的接收着,直到发送端被关闭,才接收得到数据。。。。我试过 去掉while(1),只发一条,和用fgets(sendline,100,stdin)清空写缓冲区 这些方法都不行 。。。 不知道 你有没遇到 是怎么解决的 接收线程 是完全没问题的 |