我试图使用C++在我的PC机(服务器)中建立一个控制器(客户端)和一个程序之间的TCP/IP连接,我用嗅探器查看客户端的请求是如何发送的,我发现来自控制器的每个连接请求都是从不同的端口和已知的IP发送的,它以随机端口数开始,对每个请求递增1,直到我重新启动控制器或服务器接收到请求,我有一些问题。
这是一种标准行为吗?知道控制器是三菱控制器,背后的想法是什么?
有什么办法,我可以获得控制器的新端口而不用接受吗?
发布于 2017-02-22 18:48:30
这与其说是控制器的行为,不如说是运行在控制器之上的网络堆栈,并且可以集成到控制器硬件中(搜索关键字: TCP卸载)。
accept接受与客户端的连接。如果您不接受,您将不会得到一个套接字来处理连接,使用该套接字,您不应该关心端口是什么。一切都被抽象化了,被隐藏在视线之外。如果这是一个问题,请考虑使用像UDP这样的无连接协议。当检测到数据包丢失和TCP为您做的所有其他好事情时,您不会得到自动重传,但是没有连接开销。
https://stackoverflow.com/questions/42399336
复制相似问题