草庐IT

Socket_recv

全部标签

c# - Socket.Bind 然后连接到 MS Loopback NIC

我在Windows7x64中创建了一个环回接口(interface)卡假设我的本地机器的IP是20.200.20.30/255.255.255.128环回适配器的IP是20.200.20.65/255.255.255.128我在20.200.20.30的7800端口上打开了一个监听套接字在另一个线程/应用程序上,我在20.200.20.65上绑定(bind)了一个套接字,然后连接到20.200.20.30但它因连接超时而失败。虽然它在WindowsXP上运行良好。请指教 最佳答案 将出站套接字绑定(bind)到环回地址,然后尝试将其

java - VB.Net 服务器与 Java 客户端(Socket)发送和接收文本

我是Java编程新手我写了一个简单的服务器(VB.NET)/客户端(Java)程序。来自Java的文本已成功发送到VB.Net,但未在Java中收到来自VB.Net的响应我错过了什么吗?这是我的代码VB.NET(服务器)ImportsSystem.Net.Sockets,System.TextPublicClassForm1DimserverAsNewTcpListener(9999)DimclientAsNewTcpClientDimstreamAsNetworkStreamPrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeA

windows - 套接字编程更新 : recv returning -1, 错误 = 10053

我正在Windows7上实现一个围绕套接字recv()调用循环的TCP/IP应用程序。对于少量数据(20MB),recv在两者之间失败。详细信息:我的应用程序需要与运行的HTTP服务器进行通信,两者都在同一台机器上运行,在这种情况下,tcp应用程序正在向HTTP服务器发送大量数据它给出错误=2,recv返回0。错误2表示ENOENT,但它是什么意思?。有谁知道这是什么(关于套接字)以及我如何解决这个问题?msgLen=recv(s,msg,BUFFER_SIZE,0);if(msgLen>0){//doprocessing}else{printf("\nnodatareceived..

c - recv() 错误 C/C++ 套接字编程

我正在为TR-069服务器编写CWMP客户端。我的客户代码基于此主题(主题中还有一个源代码链接)CWMPCPE(Client)implementation我遇到了一个奇怪的问题,recv()没有读取发送的数据!我已经检查了我发送的数据,它是正确的。我在服务器端安装了一个Wireshark,它使用发送的相同数据客户端捕获数据包。我正在深入研究TR-069ACS源代码,并尝试将监听套接字模式更改为NON_BLOCK-没有用。套接字定义来源:intmake_socket(unsignedintport){intsock;structsockaddr_inname;sock=socket(PF

java - Socket 如何同时处理多个客户端请求?

我对套接字编程有非常基本的怀疑(也与网络有关)。我有ServerSocket之类的东西..ServerSocketss=newServerSocket(1234);我有一个名为incomingLink的Socket来处理传入的请求..SocketincomingLink=ss.accept();请注意,有超过1个客户端(比如3个客户端)的outgoingLink套接字类似于..SocketoutgoingLink=newSocket(ServerIp,1234);嗯,要求是服务器有一些本地参数(比如)Stringstate;inttimeStamp;每当第一个客户端请求到达时,它应该被

c# - 尝试 socket.Connect 时出现 Socket Exception 10054

1-我有一个GHIElectronicsFEZSpider3设备2-我已经通过以太网电缆将设备连接到我的笔记本电脑并配置了网络设置3-我可以使用cmd从笔记本电脑pingFEZ设备:ping172.16.43.1934-我已经编写了一个Windows窗体应用程序在我的笔记本电脑上运行并充当TCP接收器5-我想从FEZ设备发送TCP数据包到我笔记本电脑上的win应用程序以下是win应用代码:string[]dnsAddresses={"172.16.40.2","172.16.40.5"};constInt32c_port=12250;publicForm1(){InitializeCo

python 2.7 socket.send() 通用合约

有人可以向我解释一下python的socket.send()方法的一般契约吗?作为教育项目的一部分,我正在制作某种流量生成器。每当socket.send()方法执行时,我都会进行简单的日志记录,我会发送一些流量并记下方法完成的时间(除其他外,我会记录)。这些日志显示我发送的消息比wireshark显示的多,当我的传出流量相对较高时会发生这种情况。我读过:https://docs.python.org/2/howto/sockets.html#socket-howto如我提供的链接中所述:'它们不一定处理您交给它们(或期望从它们那里得到)的所有字节,因为它们的主要重点是处理网络缓冲区。通

node.js - Node js TCP 服务器,socket.on ('data' ) - 数据缓冲区包含高负载时的垃圾数据

我使用nodejs的netserver,使用socket.on('data')函数接收数据。为了解析TCP消息,我使用解析缓冲区方法。这使用前4个字节作为TCP消息的长度,以便我可以从TCP流中读取并形成单独的命令。总而言之,高负载时会发生一些垃圾数据作为TCP流的一部分返回,这会导致问题。functiononConnect(client){varaccumulatingBuffer=newBuffer(0);vartotalPacketLen=-1;varaccumulatingLen=0;varrecvedThisTimeLen=0;client.on('data',functio

Java TCP Socket等待空闲?

我不确定这是一个Java问题还是TCP问题或两者兼而有之:我有一些使用ApacheMina的服务器代码,它运行一个在给定套接字上监听TCP的服务器。我的处理程序扩展了IoHandlerAdapter。我正在使用它通过HTTP/1.1将相机连接到Java服务器问题是:如果我建立连接然后完全断开相机(拉电源或拉网络),我必须等到调用sessionIdle方法来检测session现在已经死了(然后明确关闭来自服务器端的session)。我的问题是:有没有办法知道客户端立即中断了TCPsession?或者这只是TCPsession/Mina的工作方式?理想情况下,sessionIdle仅适用于

c++ - 套接字 recv() 一次一个字节

使用套接字一次调用一个字节的recv()是个好主意吗(就性能而言)?它会导致上下文切换吗?如果是这样,为什么会有上下文切换? 最佳答案 一次调用一个字节的recv()会对性能产生负面影响。每次调用都有一定的开销——转换到内核模式、文件描述符查找、分派(dispatch)到协议(protocol)特定的驱动程序、缓冲区/队列锁定等。使用更大的调用recv()缓冲区大大降低了每字节的平均开销。 关于c++-套接字recv()一次一个字节,我们在StackOverflow上找到一个类似的问题: