草庐IT

socket通信

全部标签

Python:简单的 PC 到 PC 通信

我有兴趣制作一个将字符串从一台计算机传输到另一台计算机的应用程序。我对TCP或UDP通信感兴趣。我已经实现了UDP,但它似乎能够发送最多512字节的数据/数据包。在两端实现数据包拆分和连接应该是一件很痛苦的事情,所以我想知道是否有一个库或类似的东西允许我传输一个长字符串(希望不超过10-20KB,通常大约1-2KB)直接发送到另一台计算机。我不关心加密通信,因为没有发送/检索敏感数据。我可以使用任何建议吗?这是我现在的想法:importeasylibdefreceivedData(text):print(text)sendData("Helloworld!Ohmygosh,thisis

c++ - 用于数据传输的标准字节通信协议(protocol)

我有两个程序通过TCP/IP通过交换命令和数据相互通信(连接已经成功)。我正在寻找一种协议(protocol),通过它我可以交换命令(ASCII)和二进制数据(float、double、int、char、wchar_t等...)。是否有一些我可以使用的标准?还是我应该发明自己的交换协议(protocol)?该程序是用C++和Qt编写的。 最佳答案 如果您使用的是Qt,请查看QDataStreamhttp://doc.qt.io/qt-4.8/qdatastream.html示例:http://doc.qt.io/qt-4.8/qt4

http - Safari 发送两个 HTTP 请求。同一时间/ socket

我有一个iPadSafari在30毫秒内发送两个HTTP请求(两个不同的PNG)文件。我认为即使在KeepAliveHTTP1.1连接上也应该有一个清晰的请求/响应序列。我看到的是Safari浏览器在30毫秒内发送了两个GET请求,而没有等待应答。这会导致某些Web服务器出现问题。情况:我有一个HTML5加载SVG,并进一步引用其他图像(如PNG和GIF)。在iPhone5上没有出现问题,但在iPad上出现。请查看此wireshark转储:http://tinyurl.com/c7m37b9(第116/117帧)iPad(1)信息:版本5.1.1(9B206)型号MB2292FDSaf

c# - 通信模块自动化测试

我在我们的产品中开发了两台机器之间的通信协议(protocol)模块。这是一个明确的协议(protocol),并且不可能使用WCF或WebServices等标准协议(protocol)这个模块有两个功能:1.从端点1向端点2发送通知2.从端点1向端点2发送Request,在端点1接收到端点2的响应。在我们对这两台机器进行完整的集成测试之前(另一端是用C++编写的)我编写了一个客户端控制台和服务器控制台来手动模拟本地主机中本地tcp的两个主要功能。在解决方案构建过程中自动执行此测试的最佳方法是什么?我尝试使用单元测试框架,但效果不佳。当使用单元测试框架时,我不得不在两个不同的线程中运行客

c# - 用于通信的 PLC 仿真器

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我想通过MODBUSTCP与PLC通信。但是我还没有PLC。我等着它的到来。我找不到任何模拟PLC的工具。你能帮助我吗?

Node.js Socket 管道方法不会将最后一个数据包通过管道传输到 http 响应

我有使用Express作为Web应用程序的Node服务器。此服务器与另一端的TCP服务器创建一个tcp套接字连接。我正在尝试将tcp数据通过管道传输到用户http响应。它在一段时间内工作正常,但最后的tcp数据包没有通过管道传输到http响应。因此,Web浏览器的下载状态停止为99.9%下载。我的源代码如下。谁能帮我解决这个问题?提前致谢。app.get('/download/*',function(req,res){vartcpClient=newnet.Socket();tcpClient.connect(port,ip,function(){//somelogic});tcpCl

c - 在Linux内核中设置socket输出端口号

我正在尝试将多路径tcp(https://www.multipath-tcp.org/)集成到一个项目中,我想修改源代码以便为新的mptcp子流手动选择传出套接字端口,以便我可以识别正在发送的数据包在我的应用程序中进出。地址是用:inet_create(sock_net(meta_sk),&sock,IPPROTO_TCP,1);和绑定(bind):sock.ops->bind(&sock,(structsockaddr*)&loc_in,sizeof(structsockaddr_in));然后连接:sock.ops->connect(&sock,(structsockaddr*)&

windows - 网络通信故障排除

我有一个由第三方用C++编写的工业HMI,它通过TCP/IP与36个GEPLC通信。HMI在同一房间内连接到同一交换机的两台不同机器上运行。一台HMI运行在WindowsServer200332位上。另一个在Windows764位上运行。Windows7HMI无法连接到一些PLC。所有PLC在WindowsServer2003HMI上都能正常通讯。我已经运行Wireshark来查看发生了什么。在PLC的以太网卡重置后,Win7HMI和其中一个故障底座将发送SYN/ACK序列。一旦HMI发送数据(PSH),PLC将以RST数据包响应。从那时起,来自Win7HMI的任何SYN数据包都会收到

sockets - 硬件断开后 TCP 恢复连接

我有一个连续写入TCP套接字的程序。我想确保如果客户端和服务器之间的连接断开任何时间,都可以重新建立连接。现在,我可以断开连接,当write()函数循环时,它返回一个“连接被对等重置”错误,然后是ULLONG_MAX的值。然后,一旦我重新插入电线,write()就会不断返回“破管”错误。我试图关闭并重新打开连接,但我继续收到“连接被对等重置”错误。有谁知道我如何才能重新建立连接或在一开始就将其保持一定时间(或无限期)? 最佳答案 你不能在这里重复使用文件描述符,你必须从头开始-创建新的socket(2)并调用connect(2)在上

java - 使用BufferedOutputStream/BufferedInputStream的socket随机接收虚假数据

我有一个使用BufferedOutputStream/BufferedInputStream发送/接收数据的客户端/服务器应用程序。通信协议(protocol)如下:发送部分:第一个字节是要执行的Action接下来的4个字节是消息的长度接下来的x个字节(x=消息的长度)是消息本身接收部分:读取第一个字节以获取Action读取接下来的4个字节以获得消息长度读取x(在上一步中获得)字节以获取消息现在的问题是,有时当我在服务器部分发送消息的长度(例如:23045)时,当我收到它时,我得到一个巨大的整数(例如:123106847)。一个重要的线索是,当消息超过一定数量的字符(在我的例子中>10