为啥我的tcp服务端只能接受一次消息呢?

bcc222 bcc222 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区


private void StartListen()
{
try
{
tcpListener = new TcpListener(1234);
tcpListener.Start();
AddText("开始监听");
this.listen = true;

while (true)
{
Socket s = tcpListener.AcceptSocket();//设置缓冲区
Byte[] bff = new Byte[100];
int i = s.Receive(bff);
string msg = System.Text.Encoding.UTF8.GetString(bff);//转换解码
if (msg!=null)
{
AddText(msg);
}
}

}
catch (System.Exception ex)
{

AddText("监听错误");

}

}


启动部分:

listenThread = new Thread(new ThreadStart(StartListen));
// listenThread.IsBackground = true;
listenThread.Start();

我用tcp调试助手来进行测试的,现在的问题是,可以连接,但是连接后,第一发送数据可以发过去,再发数据就发送不过去了,如果跟踪的话程序就停到 int i = s.Receive(bff);地方了

客户端如果断开,再连接的话,还能连接上,也能发送一个消息,但是发完以后再次发送又收不到数据了。


我使用tcp调试助手来做客户端测试的

这是咋回事?谢谢各位
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
bcc222
C# 111,129 成员 642,538 内容