gpt4 book ai didi

c# - tcp/ip 接受不返回,但客户端返回

转载 作者:可可西里 更新时间:2023-11-01 02:43:11 25 4
gpt4 key购买 nike

服务器:
vxworks 6.3
调用通常的套接字、绑定(bind)、监听,然后:

for (;;)
{
client = accept(sfd,NULL,NULL);
// pass client to worker thread
}

客户:
.NET 2.0
TcpClient 构造函数连接到采用字符串主机名和 int 端口的服务器,例如:

TcpClient client = new TcpClient(server_ip, port);

当服务器在 Windows( native C++)中编译和执行时,这工作正常。

间歇性地,TcpClient 的构造函数会返回实例,不会抛出任何异常,但是vxWorks 中的accept 调用不会返回客户端fd。 tcpstatShow 表示没有发生接受。

什么可能使 TcpClient 构造函数(调用“Connect”)返回实例,而服务器上的 accept 调用不返回?这似乎与系统在后台执行的操作有关 - 当客户端尝试连接时,当服务器忙于将数据持久保存到闪存或 NFS 共享时,似乎更有可能出现此症状,但可能会在客户端尝试连接时发生也不是。

我试过调整运行 accept 的线程的优先级
我在“听”中查看了队列的大小。够了。
可用的文件描述符总数应该足够了(不过还没有验证,早上的第一件事)

最佳答案

您能否发布关于网络上发生的情况的 wireshark/netmon?

关于c# - tcp/ip 接受不返回,但客户端返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3002997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com