Tag: tcp

在.Net中查找下一个TCP端口

我想为一个WCF服务调用创build一个新的net.tcp:// localhost:x / Service端点,并带有一个dynamic分配的新的打开tcp端口。 我知道,当我打开一个连接到给定的服务器时,TcpClient将分配一个新的客户端端口。 有没有一种简单的方法来find下一个开放的TCP端口在.Net? 我需要实际的编号,以便我可以构build上面的string,0不起作用,因为我需要将该string传递给另一个进程,以便我可以在该新通道上callback。

在Python中打开套接字的最佳方法

我想在Python中打开一个TCP客户端套接字。 我是否必须通过所有低级的BSD create-socket-handle / connect-socket的东西,还是有一个更简单的单线方式?

与Node.js长时间连接,如何减less内存使用并防止内存泄漏? 还与V8和webkit-devtools相关

下面是我正在做的事情:我正在开发一个Node.js http服务器,它将在一台机器上为成千上万的移动客户端推送目的(与redis协作)保持长时间连接。 testing环境: 1.80GHz*2 CPU/2GB RAM/Unbuntu12.04/Node.js 0.8.16 在第一次使用“快速”模块时,在使用交换之前,我可以达到约12万个并发连接,这意味着RAM不够。 然后,我切换到本地“http”模块,我得到的并发性高达160K。 但是我意识到在本地http模块中仍然有太多的function,所以我把它切换到本地“net”模块(这意味着我需要自己处理http协议,但没关系)。 现在,我可以达到每台机器大约25万个并发连接。 这是我的代码的主要结构: var net = require('net'); var redis = require('redis'); var pendingClients = {}; var redisClient = redis.createClient(26379, 'localhost'); redisClient.on('message', function (channel, message) { var client = pendingClients[channel]; if (client) { client.res.write(message); } }); var server = net.createServer(function (socket) { var buffer = ''; socket.setEncoding('utf-8'); […]

TCP的重传规则是什么?

关于TCP的维基百科文章指出,传输TCP段的IP数据包有时会丢失,并且TCP“请求丢失数据的重新传输”。 请求重传丢失数据的规则究竟是什么? 重发请求在什么时候执行? 数字有上限吗? 是否有客户端的function,以指示服务器忘记IP数据包丢失时丢失部分的整个TCP段?

我可以使用tcpdump获取HTTP请求,响应头和响应正文吗?

我正在使用tcpdump通过执行以下命令来获取HTTP数据: sudo tcpdump -A -s 1492 dst port 80 以上命令的结果: 标题,我想请求和响应标题。 无法读取的数据。 url GET /modules/mod_news_pro_gk1/cache/stories.ilbalad.ajayeb.strange-tractor.jpg 。 我需要一个更清晰的结果,例如,可读请求>响应头>响应正文等。我怎样才能过滤我的结果?

如何find我能发送的最大的UDP数据包而不用分片?

我需要知道我可以发送到另一台计算机的最大的UDP数据包是不是碎片。 这个大小通常被称为MTU(最大传输单位)。 据推测,在2台电脑之间,会有很多路由器和调制解调器可能有不同的MTU。 我读到Windows中的TCP实现自动查找path中的最大MTU。 我也在试验,发现从我的电脑到服务器的最大MTU是57712字节+标题。 任何以上的东西都被丢弃了。 我的电脑在局域网上,不是MTU应该在1500字节左右?

请求前的HTTP响应

我的问题可能听起来很愚蠢,但我只是想确定一下: 在请求资源之前是否可以发送HTTP响应? 比如说你有一个HTML页面index.html ,它只显示一张名为img.jpg的图片。 现在,如果你的服务器知道访问者每次都会请求HTML文件,然后是JPG图片: 服务器是否可以在HTML文件后面发送图像以节省时间? 我知道HTTP是一个同步协议,所以在理论上它不应该工作,但我只是想让别人确认(或不)。

WebRTC使用TCP还是UDP?

这听起来像一个非常基本的问题,但我需要一个确认 WebRTC是否使用TCP或UDP作为其对等传输? 我怎么知道 ? 我看了有可靠性模式和DTLS协议,它们是如何影响的? 媒体和数据通道的传输是否相同? 如何在TCP和UDP之间切换? 我问这是因为我知道浏览器对并行连接的数量有限制(我想他们谈论TCP),也许UDP连接不受限制。

TCP和UDP套接字可以使用相同的端口吗?

首先,在同一台服务器上同时使用UDP和TCP有什么问题吗? 其次,我可以使用相同的端口号吗?

如何正确和完全closures/重置TcpClient连接?

什么是closures或重置TcpClient连接的正确方法? 我们有软件与硬件进行通信,但有时出现问题,我们不再与它沟通,直到我们重新启动软件。 我已经尝试强制TcpClient.Close(),甚至将其设置为null,但不起作用。 只有完整的软件重新启动。 build议? 我不能使用using关键字,因为TpcClient只在一个位置定义,但在整个库中使用。 (在任何时候只有一个连接) 这是一个处理沟通的图书馆。 软件本身可以调用Controller类(表示硬件)的ResetConnection()方法。 它目前看起来像 if (tcpClient != null) { tcpClient.Close(); tcpClient = null; } 现在从我读的这里我应该使用tcpClient.Dispose()而不是“= null” 我会尝试一下,看看它是否有所作为。