草庐IT

TCP_DENIED

全部标签

c# - 套接字数据处理 - 用于数据打包 (TCP)

我正在做一个套接字项目。我想用TCP发送~4kb数据。我需要在这里问一个问题。即:如果我使用TCP发送~4kb数据,我的数据处理函数是否可以再接收一次该数据?即RECEIVE(server-side)函数可以返回2次(如果我发送~4kb数据一次)?如果我能理解这一点,我将开始制作自己的数据包处理系统。 最佳答案 简而言之:是的。TCP传输字节流,没有提及TCP连接中的消息(及其边界)。即使您发送两个字节,它们也可以在两个单独的block中接收(当然是理论上的;实际上不太可能)。所以你应该在你的数据流中加入一些标记。我建议在标题至少包

C# - 向 IP 地址和端口发送和接收 TCP/IP 消息

我有以下代码可以将TCP/IP消息发送到特定的IP地址和端口:publicboolsendTCPMessage(stringip_address,stringport,stringtransaction_id,stringcustomer_username,DateTimedate){boolsuccess=false;try{intconverted_port=Convert.ToInt32(port);stringconverted_date=date.ToString("dd/MM/yyyyHH:mm:ss",CultureInfo.InvariantCulture);JObje

TCP 连接 - 保持连接还是重新连接?

我有一个关于TCP-IP通信的一般性问题...目前我尝试在ATMega和RaspberryPi之间创建一个小型通信。例如,我将通过TCP/IP协议(protocol)每5分钟(例如100字节)传输一些数据。保持连接打开是否有意义,还是我应该为每个数据集创建一个新连接?感谢您的帮助...韦伯勒 最佳答案 我倾向于保持TCP连接打开,而不是每次都打开一个新连接。这里有几个原因。首先,通过使用相同的连接,您可以节省不必发送TCP握手消息(基于SYN的消息)和拆卸消息(基于FIN的消息)的费用。在您的情况下,如果您打算每5分钟传输100个字

windows - 在 Windows 中模拟 TCP 套接字的低速

我正在构建一个使用TCP套接字进行通信的应用程序。我想测试它在低速条件下的表现。网站上也有类似的问题,但据我了解,它们处理的是HTTP流量,或者是关于Linux的。我的流量不是HTTP,只是普通的TCP套接字,操作系统是Windows。我尝试使用fiddler的调制解调器速度设置,但它没有用,它似乎只适用于HTTP连接。 最佳答案 虽然您确实可能想要投资于一组广泛的单元测试,但您可以使用VMWareWorkstation模拟各种网络条件。:您必须安装用于测试的虚拟机,设置桥接网络(让虚拟机访问您的真实网络)并将您的代码上传到虚拟机。

networking - TCP - 接收顺序错误

是否有可能以错误的顺序获取TCP数据包,由序列号指示?那么在接收方会发生什么?例如,是否有任何队列存放“过早”到达的口袋? 最佳答案 也许吧。接收TCP引擎有几个关于要做什么的选择。它唯一不能做的就是将那些乱序数据包中的数据乱序地传递给接收进程。接收TCP引擎可以丢弃无序数据。最终,发送TCP引擎将重新传输它们。在此之前,它当然也会重传间隙中的数据。当间隙中的数据到达时,接收引擎可以将其按顺序传递给接收进程。接收TCP引擎可以保存乱序数据。最终,要么间隙中的数据到达,要么发送TCP引擎将重传它。无论哪种方式,间隙都会被填补,接收引擎

java - TCP Socket 以 GZIP 压缩格式发送数据

我正在将MultiPart内容发送到我的远程服务器以将其存储在文件系统中。为此,我使用JavaTCP/IP协议(protocol)。为了避免网络带宽和TCP输入/输出缓冲内存,我以GZIP压缩格式发送数据。但是,我无法解压缩从客户端收到的数据。我遇到了UnexpectedendofZLIBinputstream异常。这是因为服务器正在接收block中的数据。Java代码客户端OutputStreamout=newGZIPOutputStream(sock.getOutputStream());byte[]dataToSend=FileUtil.readFile(newFile("/Us

tcp - 带有 Firebird 1.0.3 和防火墙设置的事件端口

我在遗留LAN应用程序中使用Firebird1.0.3,其中包括必须通知有关数据库事件的部分(进程);它在Windows8上运行。与CurrPorts,我观察到ibserver.exe在3050/tcp上监听,并且一些与[SERVERIP]:3050建立的连接作为一个地址对。到目前为止一切顺利,这是我预期的行为。我只能猜测,其他连接(使用模式[SERVER-P]:[portX]-[CLIENT-IP]:[portY])是如何建立的。端口X和Y当然是动态端口。我想对于每个事件通知行Firebird服务器根据其客户端的请求打开一个带有动态端口号的套接字Firebird将端口号传递给客户端,

c - 如何在 C 上的 Linux 中检测 TCP 死连接?

我在C上编写了一个程序,其中客户端一次向服务器发送一些信息。我使用了TCP套接字。服务器计算了一段时间,应该将结果发送给客户端。如何检测服务器或客户端上的连接是否断开? 最佳答案 您可能想尝试TCPkeepalive。#cat/proc/sys/net/ipv4/tcp_keepalive_time7200#cat/proc/sys/net/ipv4/tcp_keepalive_intvl75#cat/proc/sys/net/ipv4/tcp_keepalive_probes9`在上面的例子中,TCPkeep-alive计时器在7

sockets - TCP 中的 send() 函数是否保证按顺序到达?

众所周知,send()的返回值可以小于length,表示到达的是消息的一部分,而不是全部。我应该发送2个数据包,内容分别为“ABC”和“DEF”,长度为3。我想在调用send()传输“ABC”后通过send()发送“DEF”。但是,有一种情况是“ABC”的send()的返回值小于它的长度3。我认为消息可能没有按顺序传递。例如,如果“ABC”的返回值为2,则接收到的消息为“ABDEF”。TCP中的send()函数是否保证按顺序到达? 最佳答案 首先,send()本身不保证任何东西,send()只是将您要通过网络发送的数据写入套接字的缓

c++ - 在 Qt 中通过 TCP 传输大文件

我是通过套接字传输TCP文件的新手。因此,就self学习而言,我想修改示例“Loopback”,使其在建立连接后从服务器向客户端发送一个大文件(例如100Mb到2Gb)。我的问题是我不知道如何拆分文件以便现在传输必须完成。让我插入一段代码以使其更易于理解:server.cppvoidDialog::acceptConnection(){tcpServerConnection=tcpServer.nextPendingConnection();connect(tcpServerConnection,SIGNAL(connected()),this,SLOT(startTransfer()