草庐IT

tcp_client

全部标签

c# - Async TCP Server 代码示例分析

我正在使用以下代码创建异步TCP服务器:privatevoidSetupServerSocket(){varmyEndpoint=newIPEndPoint(IPAddress.Any,_port);_serverSocket=newSocket(myEndpoint.Address.AddressFamily,SocketType.Stream,ProtocolType.Tcp);_serverSocket.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.KeepAlive,true);_serverSocket.B

Java -> TCP -> node.js(字符串数据传输)

客户端(Java)SockettcpClient=newSocket("localhost",6000);Stringmsg="test";DataOutputStreamos=newDataOutputStream(tcpClient.getOutputStream());PrintWriterpw=newPrintWriter(os);pw.println(msg);pw.flush();服务器(node.jsJavaScript)varnet=require('net');varserver=net.createServer(function(c){//'connection'l

sockets - 当其中一个数据包被丢弃时,TCP 协议(protocol)将如何延迟数据包传输?

如果客户端套接字发送:数据包A-丢弃数据包B数据包C服务器套接字是否会接收并排队B和C,然后当接收到A时,B和C将立即传递给服务器应用程序?或者B和C也会被反感?或者在A交付之前根本不会发送任何数据包? 最佳答案 TCP是一种复杂的协议(protocol),它会根据当前网络状态更改许多参数,有关该主题的书籍很多。回答您的问题最清楚的方法是说TCP通常以字节为单位维护给定的发送“窗口”大小。这是在成功返回先前发送的确认之前将发送的数据量。在旧的TCP规范中,在该窗口内丢弃的数据包将导致从丢弃的数据包开始完全重新发送数据。为了解决这个明

linux - TCP 拥塞控制版本 : HTCP module vs highspeed module in linux kernel

我发现,在Linux中,有许多用于TCP拥塞控制算法的可加载模块(cubic、new-reno、veno、vegas等)。但是有两个模块让我很困惑,一个是“HTCP”,一个是“highspeed”。HTCP不是代表高速TCP吗?那么这里“HTCP”和“高速”模块有什么区别呢?预先感谢您指出不同之处。 最佳答案 Doesn'tHTCPstandsforhighspeedTCP?没有。它代表用于高速和长距离网络的TCP,并在此document中进行了描述。来自汉密尔顿研究所。高速TCP发表于RFC3649.Sowhatisthediff

c# - C#中读取TCP端口

我有一个在远程服务器上运行的应用程序,它将数据(字符串)写入其本地端口,我想通过另一个在其他系统上运行的C#应用程序读取这个系统端口,当我连接到远程机器的这个端口时,我得到目标机器主动拒绝连接的错误。任何建议将不胜感激。我试过这段代码:Socketsock=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);varipaddress=IPAddress.Parse("192.168.1.12");IPAddressadd=newIPAddress(ipaddress.GetAddressByt

python - 使用 python 创建用于发送 TCP 和 UDP 数据包的客户端和服务器程序

如果用户询问他是否愿意通过TCP或UDP发送,我必须使用python编写客户端和服务器程序。服务器只是发回数据,因为我想知道它需要多长时间(RTT)。服务器如何检测客户端发送的是TCP还是UPD数据?这仅用于教育目的,不能用于生产。到目前为止,我有以下代码:客户端.pyimportsocketnumerofpackets=int(raw_input("Howmanypacketsshouldbesent?\n>"))connectiontype=raw_input("TCPorUDP?\n>")hostname='localhost'i=0ifconnectiontype!="TCP"

c++ - 使用 OpenSSL 将现有的 TCP 套接字转换为 TLS

我需要一些关于OpenSSL、TLS套接字的信息。首先,我想通过TCP上的TLS与服务器建立连接。通常首先创建一个TCP套接字,然后使用TCP套接字连接到服务器,然后将(在通过TCP套接字发送或接收任何数据之前)TCP套接字转换为TLS。我的问题是可以按照下面的方式吗?创建TCP套接字。使用TCP套接字连接服务器。通过TCP套接字发送和接收一些数据。然后将TCP套接字转换为TLS。注意:我使用的是OpenSSL。 最佳答案 如果服务器必须支持,那么以给定的方式似乎是可行的。请参阅SMTP。对于SMTP服务器,它以这种方式工作,其中前

c# - 具有间隔的高效多个 tcp 客户端

我一直在用C#编写一个命令行程序,它使用多个连接到同一服务器的tcp客户端。每个客户端都驻留在它自己的线程中。目前,我正在尝试找出一种有效的方法,在假设4个线程之间每秒有效地传播5个请求。我的代码目前看起来如下所示,但我最终还是遇到了相互重叠的请求。有谁知道如何有效地防止这些重叠?//Maxconnectionsis4,intervalis200//LooponcetogivetcpclientschancetoconnectvartcpClients=newTcpClient[_maxConnections];for(inti=0;i然后TcpHandler代码如下所示:public

node.js - NodeJS TCP Socket 不显示客户端主机名信息

假设我已经创建了一个简单的node.jsTCPSocket服务器,如下所示。varserver=net.createServer(function(socket){socket.end("goodbye\n");});//listenonport80,likeawebserverwould,andconfiguredtoacceptconnectionstomultiplehosts,ietest.example.com,sdfsdfsdf.example.com,example2.com.server.listen(80,function(){address=server.addre

sockets - 代理 wso2 esb 中的 TCP 传输

当使用此代码发送我的soapxml时,我想通过TCP传输向代理服务发送请求SocketclientSocket=newSocket("host",port);DataOutputStreamoutToServer=newDataOutputStream(clientSocket.getOutputStream());outToServer.writeBytes("soapxmlinstance");clientSocket.close();它运行良好,我的业务仍在继续。但是当我在不关闭套接字的情况下发送两个xml时:SocketclientSocket=newSocket("host"