草庐IT

socket通信

全部标签

sockets - 如何注入(inject) "Broken pipe"错误?

我正在为使用TCP套接字的网络程序运行测试。为了验证错误修复,我需要在套接字层重现“Brokenpipe”错误,但我不知道如何重现。任何想法?非常感谢。 最佳答案 'Brokenpipe'表示您已写入已被对等方关闭的连接。因此,让对方关闭连接。 关于sockets-如何注入(inject)"Brokenpipe"错误?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1840895

sockets - 一个系统(计算机)可以处理多少个 TCP/IP 套接字连接?

我一直在从事一个关于TCP/IP套接字连接和通过这些套接字传输消息的项目。我正在连接到具有特定IP地址的UNIX服务器并建立套接字连接。到目前为止,我可以管理来自1台主机的大约16000个连接(在这种情况下,这是我自己的电脑)。当我尝试从其他主机(MacOsx或WindowsPC)建立其他连接时,我达到了相同的最大连接数16000。我可以在服务器端拥有65536个连接,而且我确实维护了它。但仅当4台不同计算机中的每台计算机有16000个连接时。我想知道为什么我有这个以及如何仅从一台主机建立超过16000个连接。 最佳答案 在Wind

ruby - 通过 ruby​​ TCP Socket 接收大量数据的问题

我正在通过TCP套接字发送和接收JSON数据。当数据量较小时(例如200字节左右),它工作正常。但是当它达到大约10KB时,它只接收部分数据。我已经尝试了我能找到的所有不同的TCP套接字检索数据命令(read、gets、gets.chomp、recv),但找不到适用于我所有测试的命令。这是我现在的代码:socket=TCPSocket.new'10.11.50.xx',13338response=socket.recv(1000000000)我也尝试过添加超时,但我无法让它工作:socket.setsockopt(Socket::SOL_SOCKET,Socket::SO_RCVTIM

c - 在 VirtualBox 中的 Debian 上调用 socket() 时出现错误 97

我正致力于在C中创建一个简单的服务器。现在我在创建套接字以监听传入连接时遇到问题。我在x86Debian发行版上运行VirtualBox。我的代码如下:#define_POSIX_SOURCE#include#include/*threads,yo*/#include#include/*memset*/#include#include#include#include#include#include/*helperslikeinet_ntop*/#includevoidlistenInput();void*handleConn(void*args){printf("Handlingcon

javascript - 快速调用 socket.send() 时,websocket 客户端间歇性地无法传输

我有一个websocket服务器和客户端。我能够建立连接并双向传输消息(数据)。但是,当在Web浏览器中运行的客户端快速调用socket.send()时,服务器不会接收到一些消息。如果我放慢客户端对socket.send()的调用,则服务器会收到所有消息。为什么调用socket.send()的时间与间歇性丢弃消息有什么关系?在Win7、Android和iOs上运行的Chrome、FireFox和Safari会出现此行为。因此,我不认为这是浏览器错误。服务器是nodejs,但这无关紧要,因为服务器不是问题所在。我所说的快速调用是指在由requireAnimationFrame()控制的循

c# - 请求的地址在 TCP 套接字通信的上下文中无效

我想在同一台PC上运行的两个应用程序之间实现套接字通信。其中之一是Unity应用程序(服务器)。所以我写了以下内容:publicclassMain:MonoBehaviour{//UsethisforinitializationvoidStart(){//SettheTcpListeneronport13000.Int32port=8800;IPAddresslocalAddr=IPAddress.Parse("192.168.1.1");//TcpListenerserver=newTcpListener(port);TcpListenerserver=newTcpListener(

c# - Socket.Send 是否有可能阻止代码并永远完成?

我得到了这个Socket.Send代码,我的协议(protocol)是tcp。byte[]commandBytes=Encoding.ASCII.GetBytes(command);intiBytesSent=socket.Send(commandBytes,commandBytes.Length,SocketFlags.None);Debug.WriteLine("SEND:"+command);我有超过10,000个命令要发送,每个命令大约有100个字符。我在foreach循环中为10,000个命令调用Socket.Send。我注意到Socket.Send代码阻塞了当前线程并需要很

node.js - Node : TCP socket server only returns data the first time

我正在尝试在node.js中编写一个小型中继脚本,用于监听本地套接字上传入的TCP连接,并在获得连接时将流量转发给第3方。它还必须从第3方获取任何返回的数据并将其发送回原始本地套接字。我试过像http://delog.wordpress.com/2011/07/19/a-tcp-relay-mechanism-with-node-js/这样的代码它确实有效,但它要求发送者是一个正在监听套接字本身的服务器,我的实用程序旨在与任何试图创建出站TCP连接的程序一起使用。不幸的是,我遇到的问题是第一次一切都很好,客户端将数据发送到“路由器”程序,路由器将其转发到另一台服务器,然后从客户端返回数

c - 使用 TCP 与 fortran 进行进程间通信 (IPC)

我正在努力创建一种让多个Fortran进程相互通信的方法。这将用于模拟,其中一台机器正在运行模拟过程,而另一台机器(或可能是机器集群)将为模拟过程生成合成数据。即:模拟进程(sp)向生成进程(gp)请求一条信息。gp要么找到请求的信息,要么创建它并将其返回给sp。这两个过程都非常密集,这就是为什么它们将在多台机器之间拆分。无论如何,在做了一些研究之后,我能为这个IPC想出的最好方法是同时使用TCP和IP。在做了更多研究后,我得出了以下代码(取自here):模块MODULEMSockets!Interfacetolibmsock!AlibraryforTCP/IPclient-serve

java - Android:与工作线程通信以发送消息

我正在尝试通过tcp从一个android设备向另一个设备发送消息。发送设备发送到用作服务器的PC,然后将消息发送到其他设备。为了接收消息,我运行了一个与UI线程并行的线程,该线程使用处理程序更新用户界面以显示消息。这很好用。现在我正在使用AsyncTask发送消息,它创建一个套接字,然后发送消息,然后再次关闭套接字。所以每次我想发送消息时,我都必须连接和断开连接。publicclassSendTaskextendsAsyncTask{staticfinalStringTAG="SendTask";privateSocketsoc;privateStringtheIp;privatein