socket.Receive 堵塞问题

wangerdong2579 2008-04-16 08:52:54

public Form1()
{
InitializeComponent();
System.Windows.Forms.Control.CheckForIllegalCrossThreadCalls = false;
int port = 6678;
listener = new TcpListener(port);
listener.Start();
Thread thread = new Thread(new ThreadStart(reControlCode));
thread.Start();
}
private void reControlCode()
{
try
{
//设置接收套接字,接收listener.AcceptSocket是返回已经接收的客户的请求
socket = listener.AcceptSocket();
while (socket.Connected)
{
string str = "";
string ss = "";
byte[] recvBytes = new byte[1024];
int bytes = 0;
while (true)
{
bytes = socket.Receive(recvBytes, recvBytes.Length, 0);
if (bytes <= 0)
break;
ss += Encoding.ASCII.GetString(recvBytes, 0, bytes);
}
switch (ss)
{
case "openstar":
str = "true";
SendMessage(str);
break;
default:
break;
}
}
}
catch
{
}
}

这个数据读完之后运行到 bytes = socket.Receive(recvBytes, recvBytes.Length, 0);就跳出去了,大家帮我解决一下,谢谢啊

...全文
111 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧