草庐IT

MODBUS-TCP

全部标签

linux - 如果 TCP 服务器脱离网络,接受函数是否返回错误 (-1)

如果它所连接的以太网接口(interface)脱离网络,accept函数是否返回错误(-1)?如果不是,应用程序(TCP服务器)将如何知道它的接口(interface)不再处于事件状态??我正在使用一个线程来接受连接,而不是使用任何“select”语句来这样做。直接调用accept()函数,但如果我从以太网接口(interface)中删除IP地址,它不会以某种方式重新调整错误。使用C,工作环境为linux。 最佳答案 通常您不会将您的服务器套接字绑定(bind)到特定的IP地址(您使用INADDR_ANY)。因此,即使您删除了您的以

java - 连接短时间中断后 TCP 连接被拒绝

我正在使用(Java)TCP套接字连接到支持网络的设备。考虑以下场景:1)TCP套接字连接成功创建2)网络连接短时间中断(我只是通过拔掉网线来测试这个)3)我的程序关闭套接字。4)对方socket只响应我这边的请求;因此,连接另一端的套接字不一定检测到断开的连接5)重新建立网络连接6)我的程序试图再次打开套接字7)->得到一个SocketException:connectionrefused为什么?因为另一端的套接字认为tcp连接仍然打开,因此拒绝同一端口上的任何其他连接请求。接下来会发生什么?大约5分钟后,我的程序能够再次打开套接字,因为另一端检测到连接不再处于Activity状态。

C#多线程文件传输使用TCP

我正在设计用于从客户端接收文件的TCP服务器。它为一个客户工作。但是Server需要响应多个client。我不知道如何同时从客户端接收多个文件。请帮助我。服务器代码:publicpartialclassForm1:Form{Threadt1;intflag=0;stringreceivedPath="yok";publicdelegatevoidMyDelegate();privatestringfileName;publicForm1(){t1=newThread(newThreadStart(StartListening));t1.Start();InitializeCompone

node.js - nodejs tcp 监听器脚本

我有以下情况,只是想检查一下我是否做对了。我的客户有几个设备(RS232)。现在我有一个RS232-WIFI加密狗与之连接,因此设备外的数据被发送到我的服务器(它输出一个数据字符串,例如:{12,1,etc)。在我的服务器上,我运行了一个NodeJS脚本,它打开一个端口并获取所有传入的数据。varnet=require('net');varhost='1.1.1.1';varservers=[];varports=[20000,20001,20002,20003,20004];//Createserversports.forEach(function(port){vars=net.cr

c - getsockopt 类似 TCP_INFO 的 UDP 统计信息

我使用的是Linux内核2.6.32(x86_64),可以通过将TCP_INFO传递给getsockopt并接收tcp_info来获取TCP统计信息struct,在/usr/include/netinet/tcp.h中定义。我可以获得类似的UDP统计信息吗?(可能更少,因为没有内置的拥塞控制和重传等。但我对我能得到的任何统计数据都很满意) 最佳答案 TCP_INFO的字面意思是TCP的信息。UDP没有信息的原因是它是无状态的。没有保证传输,不是rtf,没有窗口大小,没有太多信息可提供。如果你真的想获取一些额外的信息,请查看man2r

java - 打洞后未建立 TCP 连接

所以我正在尝试在两个移动设备(安卓手机和带有USB移动宽带调制解调器的笔记本电脑)之间实现TCP打洞。我使用另一台连接到wifi的笔记本电脑充当服务器。我首先让笔记本电脑连接到服务器,该服务器显示其公共(public)IP地址和服务器看到的NAT端口号。try{System.out.println("connecttoserver");SocketconnectToServer=newSocket();System.out.println("49");connectToServer.bind(newInetSocketAddress(myIPAddress.getHostAddress

c# - 没有消息帧的 TCP 上的 Xml

我必须实现一个传输原始xml数据的tcp连接。不幸的是没有消息框架,我现在这真的很糟糕,但我必须处理这个......消息看起来像这样:或者这个现在我必须接收可能带有自闭合标签的消息。消息总是一样的,它总是像xml描述和带有内部xml的数据标记,即消息内容。因此,如果没有自闭标签,这将很容易,但我如何才能同时阅读这两者?顺便说一句,我正在使用TcpListener。编辑:如果没有自闭标签,一切都很好。if(_clientSocket!=null){NetworkStreamnetworkStream=_clientSocket.GetStream();_clientSocket.Rece

sockets - TCP套接字数据消耗

我每5秒从我的TCP套接字向我的服务器发送数据。以这种发送消息的速度,一小时内将消耗多少数据。每次,都会打开一个套接字,并将数据从客户端泵出到服务器。我在客户端使用3GGSM调制解调器。我的消息是,ID1$Socket$Open$timestamp。都是字符串 最佳答案 ID1$Socket$Open$timestamp是25个字节,假设是一个8位字符串,并且假设您没有在消息之间发送任何其他数据(header/定界符等)。因此,每5秒发送1条消息是每分钟60/5=12条消息,即每小时12*60=720条条消息。每条消息25字节,即7

c# - 如何关闭 TCP/IP 连接

我没有很好地学习网络。我知道TCP/IP的基础知识,但我面临一项任务,我必须为在同一解决方案中相互通信的多个项目管理多个线程。我在Window的窗体、C#中工作,为了简单起见,我将只写需要写的内容。这是我的客户端类,它连接到服务器,处理进出服务器的消息,以及从服务器注销。privateTcpClientClientConnection=null;privateNetworkStreamCommandStream=null;privateThreadClientThread=null;boolisRunning=false;publicClient(){InitializeCompone

tcp - 使用 HAProxy 负载平衡 TCP

我想为syslog-ng消息设置负载均衡器,假设有几个盒子正在向HAProxy盒子的前端接口(interface)发送TCP514消息-192.168.0.20,并且有一个graylog服务器将这些消息传递到-10.0.0.2.以下最简单的可能配置不起作用。默认值模式TCP前端主要绑定(bind)192.168.0.20:514使用_backendgraylog后端灰度日志服务器graylog110.0.0.2:514Tcpdump显示HAProxy正在向514上的传入消息发送RST标志。我相信我应该看到HAProxy使用netstat监听514? 最佳答案