草庐IT

MODBUS-TCP

全部标签

c++ - 通过以太网电缆 (tcp) 的 rs-232 串行连接

我有一个通过rs-232接口(interface)控制的硬件设备(它是一个超声波脉冲接收器)。我需要编写一个程序来将命令从我的计算机发送到设备。然而,不同寻常的是,该设备没有串行端口(DB-9COM端口),而是有一个RJ45socket(以太网socket)。该设备附带一个适配器,用于将设备上的以太网端口连接到串行电缆,以便与计算机通信。不幸的是我的电脑没有串口——只有以太网口。如果可能的话,我想取消适配器并使用以太网电缆将我的计算机直接连接到设备。这在物理上是可能的——但我不知道如何转换消息协议(protocol)?例如,我的设备没有用于打开TCP套接字的IP地址?到目前为止,我一直

networking - TCP缓冲区在进程内存的地址空间中吗?

我被告知要增加TCP缓冲区大小以便更快地处理消息。我的问题是,无论我为TCP消息使用什么缓冲区(ByteBuffer、DirectByteBuffer等),只要CPU从NIC接收到中断,以处理读取套接字数据的网络请求,操作系统是否会在地址空间之外的内存中维护任何缓冲区请求进程(即正在监听该套接字的进程)或无论CPU以何种方式接收网络数据,它总是只写入进程地址空间的缓冲区,不维护地址空间之外的缓冲区(包括'Recv-Q'和netstat命令的'Send-Q')为了这次交流? 最佳答案 Linux网络栈接收数据的过程有点复杂。我写了一个

ajax - 如何使用 ajax 或 JS 技巧将数据发送到具有相同 TCP 连接的服务器

我知道如何保持连接独立打开服务器端以将数据连续流式传输到javascript。但我不知道如何使用相同的TCP从浏览器向服务器发送数据。所以没有3次握手,只有2个tcp数据包。我知道这是可能的,但我不知道该怎么做:使用xmlhttprequest?或脚本标记ajax?你能告诉我怎么做吗?非常感谢 最佳答案 如何使用WebSockets. 关于ajax-如何使用ajax或JS技巧将数据发送到具有相同TCP连接的服务器,我们在StackOverflow上找到一个类似的问题:

Android 客户端 TCP 套接字

我正在实现Android客户端和桌面服务器应用程序。在客户端中,我扩展了一个用于发送和接收TCP消息的Thread类。它将处理我的消息并根据消息的含义做一些事情。但是消息不是从服务器到客户端的。它没有出现在我的线程缓冲阅读器中。我是安卓的新手。我在哪里错过了一点?我的线程不能在后台运行吗?publicclassConnectionHandlerextendsThread{privateSocketmySocket;publicstaticBufferedReaderin;publicstaticPrintWriterout;privateLoginlogin;publicConnect

tcp - Web 服务客户端遇到 'java.net.SocketException: Connection reset'

问题我们在Weblogic服务器10.3.1上部署了一个javaee应用程序,它提供HTTPWeb服务。我们就称它为“服务器”吧。部署在另一台机器上的tomcat上的另一个java应用程序,它将对服务器进行Web服务调用,我们称它为“客户端”。客户端和服务器应用程序都在使用Axis。客户端有可能因异常而失败"java.net.SocketException:Connectionresetatjava.net.SocketInputStream.read(SocketInputStream.java:168)",1分钟后,服务器应用程序日志显示:org.apache.axis.Messa

c# - 从客户端 C# 连接到多个 TCP 服务器

使属性TcpClient和IPEndPoint似乎解决了我的问题!如果有人能解释为什么会这样,我将不胜感激。我通常将我的类对象声明为静态的,但我不完全理解为什么它会这样工作。我想先按惯例说一遍,我用谷歌搜索了又搜索,但没有找到任何可以回答我问题的内容,所以如果这个问题已经有了答案,请指出我。我已经用C#成功地编写了一个TCP服务器和客户端,但是我希望我的客户端能够连接到多个服务器。需要明确的是,这不是连接了多个客户端的服务器,我在配置它时没有遇到任何问题。这是一张解释我的意思的小图片:漂亮,我知道。但说真的,我无法让它发挥作用。我遇到错误:在已连接的套接字上发出连接请求我有一个名为客户

c - tcp 指示流结束

我无法结束TCP流。我正在编写一个简单的服务器和客户端,其中客户端连接到服务器并且服务器显示一条欢迎消息,要求客户端输入用户名。问题是,当服务器写入消息时,客户端的read()被阻塞。它只有在我调用shutdown()时才会解锁。服务器:if(FD_ISSET(tcp_listenfd,&rset)){len=sizeof(cliaddr);if((new_confd=accept(tcp_listenfd,(structsockaddr*)&cliaddr,&len))客户:if((connect(sock,(structsockaddr*)server,sizeof(structs

c - TCP 标志过滤器的十六进制、按位或反转

我正在使用C中的TCP转储数据包捕获方法,我正在查看TCP标志部分,我需要一种方法来检查是否在数据包上设置了SYN标志。当我运行程序时,我可以访问下面结构中的th_flags变量,并且我得到一个类似6144或4096的值作为返回。我如何根据输出给出的数字确定设置了哪些标志?structsniff_tcp{u_shortth_sport;/*sourceport*/u_shortth_dport;/*destinationport*/tcp_seqth_seq;/*sequencenumber*/tcp_seqth_ack;/*acknowledgementnumber*/u_chart

javascript - 尝试使用套接字通过 TCP 连接到远程计算机时出现“ECONNREFUSED”

我在尝试使用node.js网络API连接到远程计算机时遇到了一些问题。这段代码在本地完美运行,但是当我尝试用其他人的机器测试它时,它给我错误:'ECONNREFUSED'这是服务器端代码。varnet=require('net');varHOST='127.0.0.1';//localhostvarPORT=18000;net.createServer(function(sock){//Wehaveaconnection-asocketobjectisassignedtotheconnectionautomaticallyconsole.log('CONNECTED:'+sock.re

c# - 取决于服务代理的 TCP 套接字服务器,我如何接收整个消息并发送响应?

我正在设置一个需要做几件事的应用程序...1.)从tcp套接字接收一串xml数据。2.)将此数据插入sql表中。3.)触发器更新这些表中的大量内容并将它们放入输出表中。4.)SqlDependencies确认记录已插入输出表,需要通过相同的套接字发送回复。我遇到的问题是,如果我从客户端将整个消息发送到服务器,我必须.Close客户端,这使得无法收到响应,如果我不.Close客户端,只要消息适合一个数据包,我就可以收到响应(如果消息太长,服务器接收的消息将被切断,因此抛出一个错误)。我怎样才能使这项工作?所以现在不知所措,如果需要任何其他信息来帮助这项工作,请告诉我。我接近这个项目的最后