草庐IT

m_Socket

全部标签

python-2.7 - python中socket模块的 `listen(1)`方法中参数1是什么意思?

socket的listen(1)方法中参数1是什么意思?我在python2.7中使用套接字模块,我创建了一个基本服务器,我想连接到多个客户端(都在本地机器上)并在它们之间传输数据。我知道有一种更简单的方法可以做到这一点,但我想练习客户端何时不在同一台机器上并且可能需要先从服务器检索某些内容以便无法绕过它。我想知道listen中的1是否指的是服务器一次建立的连接数量,如果不是,它的意思是什么。我真的很想详细了解流程的各个部分是如何工作的,因此我们将不胜感激。 最佳答案 它定义了积压队列的长度,即已由TCP/IP堆栈完成但尚未被应用程序

sockets - Spring TCP Socket Integration 实现不传递 gateway.send 方法

所以我包装了SpringIntegrationTCP客户端,为我的应用程序提供API。以前关于这方面的问题可以找到here和here.问题是gateway.send()根本没有结束,API响应永远不会返回。这是我的ServerConnection.java文件:packagecom.abc.xyz.serverconnection;importorg.springframework.context.support.GenericXmlApplicationContext;publicclassServerConnections{privateSimpleGatewaygateway;p

c# - 在 C# 中从 Socket 接收数据的正确方法是什么?

假设我事先知道有效负载字节。接收所有字节的正确方法是什么?目前,我正在做这样的事情byte[]buffer=newbyte[payloadLength];socket.Receive(buffer,buffer.Length,SocketFlags.None);但后来,我想到如果负载很大,Receive可能无法一次接收到全部数据怎么办。所以我打算做这样的事情byte[]buffer=newbyte[payloadLength];intremained=payloadLength;intsize=0;do{size=socket.Receive(buffer,payloadLength-

node.js - Node : does socket data need reassemble and prepend length for packet boundary?

我正在构建一个TCP服务器。我有一些问题:在nodejs中,socket接收数据时的事件:是否需要注意数据包顺序是否正确,换句话说,tcp数据包重组是如何处理的?它是否已由底层操作系统或Nodejs处理?或者我需要自己重新组装?nodejs会自动处理数据包边界吗?意思是,是可能的:在一个数据事件中接收多个数据包一个数据包分布在多个数据事件中 最佳答案 Doneedtotakecarewhetherthepacketorderiscorrect,inotherwords,howthetcppacketsreassembleishand

c - 应该关闭损坏的 socket 吗?

我正在读取TCP套接字:intread_result=recv(socket_fd,&some_struct,some_size,0);如果read_result等于-1,我仍然应该对该文件描述符调用close还是直接保留它? 最佳答案 根据recv手册页,recv可能返回-1(EAGAIN、EBADF、EINVAL、ENOMEM等)。我建议根据这些预期的返回值检查errno并修改您的代码以采取相应的行动。如果您正在编写一个库,您可能希望返回一个特定于库的错误代码。如果您是应用程序,您可能希望终止或向调用者返回错误代码。这将取决于上

java - java中使用socket编程的聊天程序

这是我程序的服务器端代码,问题是它只接受一个客户端。当另一个客户端连接时,isConnected方法返回true,但服务器没有从服务器获取消息。请帮助我,因为这是我在netbeans中的第一个java程序,我刚刚完成核心java的学习。classConnextendsThread{ServerSocketss;Sockets;publicvoidrun(){status.setText(status.getText()+"connecting");try{while(true){s=newSocket();ss=newServerSocket(3000);s=ss.accept();R

c++ - Qt Tcp Socket - 一次接收多个发送

使用TCP套接字,我的客户端/服务器有一种情况,消息从客户端发送,服务器接收消息并将它们写入文件。我遇到的问题是出于某种原因,即使我将消息分开,它们都是在一条线上收到的。例如..假设我使用以下方式逐行发送文本文件:socket->write(msg.toUtf8().constData());socket->waitForBytesWritten(5000);服务器有时会在一次接收中收到多条消息。所以如果文本文件说:你好,这是客户有时服务器会收到“你好,这是客户端”,在它们应该分开的时候一起接收两条消息。有人可能会说我当时编码有误,但奇怪的是,如果我在本地测试客户端/服务器,一切都完美

c - Linux C stream socket中的TCP机制

我在LinuxC程序中使用TCP流套接字来传输数据。我的问题是:丢包会发生什么?Linux套接字是否实现了TCP数据包恢复机制,以便丢失的数据包在超时后重新发送?或者我是否必须检查send()返回值并在它为零时重新发送数据? 最佳答案 如果您使用的是TCP套接字或unix域套接字(当您ls-l它)。但是在这两种情况中的任何一种情况下,答案都是肯定的,它们实现了数据包恢复(但是在unix套接字中不会丢失/恢复多少),不,您不必重新发送数据。但是您仍然应该检查send()是否有错误;连接可能断开,因为有人刚刚拔掉了你的网线,或者你的se

sockets - TCP Socket 只接收消息的一部分

我正在使用以下代码执行tcp套接字连接并将字符串发送到IP。但有时在响应中,我没有收到整个文件Socketm_socClient;IPSelected="1.1.2.3"Port="80"stringquery="MyQuery"m_socClient=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);System.Net.IPAddressremoteIPAddress=System.Net.IPAddress.Parse(IPSelected);System.Net.IPEndPoint

java - 从 java socket(TCP) 读取 19000 字节

这是我的简化代码sock.getOutputStream().write(buff);//sendareadRequestbyte[]rbuff=newbyte[19210];//Answerhas19210bytesofdatasock.getInputStream().read(rbuff);在wireshark中,我看到它被分成几个tcp包。但是读取不应该等到19210字节到达了吗?我得到了数据,但是从某个位置开始,所有字节都是0。这基本上是相同的位置,但有点不同。知道我在这里做错了什么吗? 最佳答案 你可以尝试像这样分blo