Socket接受数据的问题

linguanyu315 2011-01-10 10:55:15
要实现在接受数据超时后, 自动进行下一次接收尝试. 我在下面程序中尝试设置
client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 2000);
或者client.ReceiveTimeout = 2000;
但是结果都不正确. 超时后, 连接就被关闭了.

请大家指点.

client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 2000);
client.ReceiveTimeout = 2000;
while(true)
{
data = new byte[1024];
recv = client.Receive(data);
if (recv == 0)
break;

Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
client.Send(data, recv, SocketFlags.None);
}
...全文
56 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
winner213 2011-01-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yanimaziba 的回复:]
你这个DO WHILE循环逻辑好像有问题哦
[/Quote]

+1
YOULOVEXIA 2011-01-11
  • 打赏
  • 举报
回复
检查代码:
client.Send(data, recv, SocketFlags.None);
jeven_xiao 2011-01-11
  • 打赏
  • 举报
回复
你这个DO WHILE循环逻辑好像有问题哦

111,097

社区成员

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

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

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