我有一个TcpClient.AcceptTcpClient()
用于接受客户端的服务器。我还有一个客户端,它也像这样使用 C# TcpClient:
var client = new TcpClient();
client.connect(ip, port);
这可以正常工作,但是当我尝试使用来自 kontiki(C 代码)的 tcp_socket_send 连接到我的服务器时,它会显示不需要的行为。看起来当它发送消息时,它发送了一个 SYN。然后服务器返回 SYN-ACK,这看起来很好。当客户端随后发送实际消息时,服务器已将其作为新的 TcpClient 接受。
我希望我的问题足够清楚,否则请走开。
谢谢
编辑
我已经隔离了这个问题,但我还没有答案。问题是 kontiki 发送数据的方式是 SYN,然后是 PSH。我的 C# tcpclient 发送数据的方式是直接 PSH。它离开了SYN。问题是(它认为)SYN 以某种方式关闭了我以前的连接。