TCP服务器端收到连续收到同一个客户端的连接 正常吗???是否需要覆盖掉原来的socket
现在上位机测试一个设备,设备是总线转网络,作为TCP客户端,设置了连接目标地址和端口后就自动连接服务器。
在上位机服务器端检测时,发现连续两次收到该设备TCP连接,接收到的socket 明显不一样。
之前这种情况通常认为是中断后,自动重新连接的,所以检测到这种情况后,就把之前的覆盖掉了。
但是这次发现,如果覆盖掉原来的,则服务器端用这个soket发送到客户端则 不成功了。recv接收也失败了。
不覆盖则发送和接收没有问题。
什么原因????
在上位机服务器端检测时,发现连续两次收到该设备TCP连接,接收到的socket 明显不一样。
之前这种情况通常认为是中断后,自动重新连接的,所以检测到这种情况后,就把之前的覆盖掉了。
但是这次发现,如果覆盖掉原来的,则服务器端用这个soket发送到客户端则 不成功了。recv接收也失败了。
不覆盖则发送和接收没有问题。
什么原因????
...全文
相关推荐
Visual Studio 实现TCp socket 异步通信,客户端和服务器端
本篇将详细探讨如何在Visual Studio中创建TCP Socket的客户端和服务器端,并实现异步通信。首先,我们要了解TCP Socket的基本概念。
C# Socket类实现客户端与服务端时间同步
网络通信是现代软件应用中不可或缺的一部分,它使得分布在不同地理位置的计算机能够相互交换信息。在C#中,网络通信的实现可以通过多种类和协议来完成。为了深入理解C#网络编程,本章节将概述网络通信的基本概念、关键技术和应用场景。Socket编程是一个历史悠久且广泛应用于网络通信领域的方法。在C#中,Socket类提供了访问网络服务的基本方法。它的核心是为网络上的两个端点之间的通信提供了接口。端点通常由IP地址和端口号组成,这样一来,数据包就可以在互联网上被发送和接收。
Socket服务器端断开后重新打开,客户端将自动完成链接
为了实现客户端的自动重连功能,我们可以采用以下策略:1. 定时检测:客户端在与服务器的通信过程中,定期发送心跳包,以确认连接是否仍然有效。
C语言利用socket套接字实现客户端和服务器端TCP通信实例
这些代码将演示如何使用上述函数来实现TCP通信。服务器端代码会包含创建socket、绑定、监听和接受连接的步骤,而客户端代码则包括创建socket、连接服务器、发送数据和接收数据的逻辑。
C++实现Tcp客户端和服务器端的通信
TCP服务器端的实现涉及创建一个监听套接字,用于等待客户端的连接请求。


