标签: tcp

在Linux上模拟延迟和丢弃的数据包

我想模拟数据包延迟和丢失的UDP,并TCP在Linux上衡量一个应用程序的性能.有一个简单的方法吗?

linux tcp throttling

237
推荐指数
5
解决办法
18万
查看次数

现代Linux机箱可以拥有的理论最大开放TCP连接数是多少

假设硬件具有无限的性能,Linux机箱是否支持> 65536个开放的TCP连接?

据我所知,短暂端口的数量(<65536)限制了从一个本地IP到一个远程IP上的一个端口的连接数.

元组(本地ip,本地端口,远程ip,远程端口)是唯一定义TCP连接的东西; 这是否意味着如果这些参数中有多个是免费的,则可以支持超过65K的连接.例如,从多个本地IP连接到多个远程主机上的单个端口号.

系统中还有另外16位的限制吗?或许文件描述符的数量?

port tcp file-descriptor linux-kernel

226
推荐指数
3
解决办法
17万
查看次数

HTTP 1.1和HTTP 2.0有什么区别?

HTTP/1.1已经为网络服务了十五年以上,但它的年龄开始显现.

任何人都可以解释HTTP 1.1和2.0之间的主要区别是什么?

传输协议有什么变化吗?

webserver tcp http http2

218
推荐指数
2
解决办法
13万
查看次数

UDP vs TCP,速度有多快?

用于一般协议消息交换,可以容忍一些丢包.UDP over TCP有多高效?

networking udp tcp

186
推荐指数
13
解决办法
21万
查看次数

为什么SCTP没有太多使用/已知

我最近查看了Richards Stevens 撰写的"UNIX网络编程,第1卷"这本书,我发现除了TCP和UDP之外还有第三个传输层标准:SCTP.

简介:SCTP是一种传输级协议,它像UDP一样是消息驱动的,但是像TCP一样可靠.以下是IBM DeveloperWorks简短介绍.

老实说,我以前从未听说过SCTP.我记不起在任何网络书籍中阅读它或在我参加的课程中听到它.阅读提到SCTP的其他stackoverflow问题表明,我并不孤单,因为缺乏这方面的知识.

为什么SCTP如此未知?为什么没用多少?

networking tcp popularity sctp

185
推荐指数
8
解决办法
5万
查看次数

TCP连接的最大数据包大小

TCP连接的最大数据包大小是多少,或者如何获得最大数据包大小?

networking tcp

181
推荐指数
6
解决办法
34万
查看次数

java.net.ConnectException:连接被拒绝

我正在尝试实现TCP连接,从服务器端一切正常,但是当我运行客户端程序(从客户端计算机)时,我收到以下错误:

java.net.ConnectException: Connection refused
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)
        at java.net.Socket.connect(Socket.java:529)
        at java.net.Socket.connect(Socket.java:478)
        at java.net.Socket.<init>(Socket.java:375)
        at java.net.Socket.<init>(Socket.java:189)
        at TCPClient.main(TCPClient.java:13)
Run Code Online (Sandbox Code Playgroud)

我尝试更改套接字号以防它正在使用但无济于事,是否有人知道是什么导致此错误以及如何解决它.

服务器代码:

//TCPServer.java

import java.io.*;
import java.net.*;

class TCPServer {
    public static void main(String argv[]) throws Exception {
        String fromclient;
        String toclient;

        ServerSocket Server = new ServerSocket(5000);

        System.out.println("TCPServer Waiting for client on port 5000");

        while (true) {
            Socket connected = Server.accept();
            System.out.println(" THE CLIENT" + " " + connected.getInetAddress()
                    + ":" + connected.getPort() + " …
Run Code Online (Sandbox Code Playgroud)

java networking tcp

169
推荐指数
5
解决办法
82万
查看次数

WebSockets和纯TCP之间的根本区别是什么?

我已经阅读了WebSockets,我想知道为什么浏览器不能简单地打开简单的TCP连接并像其他任何桌面应用程序一样与服务器通信.为什么通过websockets进行这种通信?

tcp websocket

155
推荐指数
2
解决办法
5万
查看次数

检查远程主机上一个端口的状态

我需要一个可以检查远程主机上的端口状态的命令行.我试过ping xxx.xxx.xxx.xxx:161但它不承认"主持人".我认为这是一个"好"的答案,直到我对一个我知道该端口打开的主机执行相同的命令.这是针对Windows上的批处理文件,它将检查远程端口的状态,然后运行使用该远程端口获取信息的命令,然后再使用远程端口检查命令,然后使用下一个服务器上的该端口获取信息的命令, 等等.我到处都看,并认为ping可能会这样做,但必须有各种版本的ping,我想因为我正在这样做的服务器没有显示该选项.

只是为了笑,我尝试从网站上进行基于Web的远程端口检查 - 结果对于"问题"服务器和正确的服务器都是正确的.但是,我不能在批量运行中使用它,其中包含500多个服务器IP.

有什么我可以做的很简单吗?我的Perl技能非常生疏(使用它或丢失它),除了批处理之外不知道任何其他基于Windows的语言.Unix是我的技能,但必须从Widows Server 2003执行.

windows cmd tcp batch-file

154
推荐指数
6
解决办法
65万
查看次数

如何编写可扩展的基于Tcp/Ip的服务器

我正处于编写新的Windows服务应用程序的设计阶段,该应用程序接受长连接的TCP/IP连接(即,这不像HTTP,其中有许多短连接,而是客户端连接并保持连接数小时或数天或甚至几周).

我正在寻找设计网络架构的最佳方法的想法.我将需要为该服务启动至少一个线程.我正在考虑使用Asynch API(BeginRecieve等),因为我不知道在任何给定时间(可能是数百个)我将连接多少客户端.我绝对不想为每个连接启动一个线程.

数据将主要从我的服务器流向客户端,但有时会从客户端发送一些命令.这主要是一个监控应用程序,我的服务器定期向客户端发送状态数据.

有关尽可能扩展的最佳方法的任何建议吗?基本工作流程 谢谢.

编辑:要明确,我正在寻找基于.net的解决方案(如果可能,C#,但任何.net语言都可以)

BOUNTY注意:要获得赏金,我希望不仅仅是一个简单的答案.我需要一个解决方案的工作示例,作为指向我可以下载的内容的指针或在线的简短示例.它必须是基于.net和Windows(任何.net语言都可以接受)

编辑:我要感谢所有给出好答案的人.不幸的是,我只能接受一个,我选择接受更为人熟知的Begin/End方法.Esac的解决方案可能会更好,但它仍然足够新,我不确定它将如何运作.

我已经提出了我认为很好的所有答案,我希望我能为你们做更多的事情.再次感谢.

.net c# networking tcp scalability

148
推荐指数
8
解决办法
7万
查看次数