大量网络连接时,服务器使用一个端口接收所有连接的数据和使用一个端口对应一个连接有区别吗?

问题描述

大量网络连接时,服务器使用一个端口接收所有连接的数据和使用一个端口对应一个连接有区别吗?

看过一个程序,TCP连接,每个连接都是让客户端用不同的端口,但是想了一下觉得没什么必要,比如HTTP服务器就是一直用80端口处理所有的连接,也都处理得很好。所以就有了题目上的问题,请知道的人指教一下,谢谢!

解决方案

补充一下说明吧,对于IP层来说,只负责把数据送到节点上,而端口就是标识节点上的应用。所以对于不同的应用通讯,肯定不能用一个端口。
但对于一个应用来说,可以用一个端口。根据客户端的端口区分不同的连接。

解决方案二:

不一样,机制的区别
比如80端口,在 web 方式下,你的程序会对每一个用户都产生一个副本。就造成了多个程序监听一个端口的现象
但网络通讯上是不允许的

解决方案三:

不同的应用也可以复用端口,其实对于IP层以下,根本不区分什么端口不端口的。说白了端口这个概念只是为了隔离不同的通讯会话而人为设立的概念。
但是为什么要隔离呢,隔离有很多好处,比如说容易调试,容易移植程序。

解决方案四:

对于连接本身来说是没有区别的。但在Port选择上是有区别的。前者对应临时端口,后者对应预分配的固定端口。

解决方案五:

侦听一个端口,来了请求,用一个新的端口通信。

时间: 2024-09-15 10:16:21

大量网络连接时,服务器使用一个端口接收所有连接的数据和使用一个端口对应一个连接有区别吗?的相关文章

用vs.net2005数据连接时服务器名为什么只有./SQLEXPRESS的

问题描述 用vs.net2005数据连接时服务器名为什么只有./SQLEXPRESS的,比如我的机器名是xxh,用vs.net2005数据连接时服务器名只有xxh/SQLEXPRESS,没有xxhsql有两种登陆方式http://hiphotos.baidu.com/skper88569993/abpic/item/e6e3452f42a869251e30893f.jpg可是这个地方没有服务器名xxh的,没有xxh/SQLEXPRESS,为什么,怎么设置谢谢http://hiphotos.bai

ScaleMP将致力于用软件和高速网络的小型服务器领域

大型对称多处理服务器价格通常比较昂贵,小型的双路和四路服务器价格相对便宜.近几年来来,ScaleMP公司就一直在致力于使用软件和高速网络来将大型服务器分解为一组相对小型的服务器. 管理集群是一件http://www.aliyun.com/zixun/aggregation/7378.html">痛苦的工作,应用软件通常希望采用一个简单的地址域来完成管理职责,这也是ScaleMP公司vSMP Foundation产品努力的目标,这个软件可以分配服务器BIOS,虚拟化管理程序和对称多处理器并将

C/S架构,SOCKET连接,服务器和客户端之间通信为什么会丢包?

问题描述 C/S架构,SOCKET连接,服务器和客户端之间通信为什么会丢包? C/S架构,SOCKET连接,服务器和客户端之间通信为什么会丢包 解决方案 iOS用GcdAsyncsocket通信一个8000多字节的包只能收到一千多字节,这是什么原因

cpp-【C++】把类定义在头问件中,为何在连接时不会报重复定义的错误?

问题描述 [C++]把类定义在头问件中,为何在连接时不会报重复定义的错误? 在头问件中定义一个类,然后被多个cpp文件include,为何连接时不会报重复定义的错误? 解决方案 头文件,一般只用来放声明,而不能用于放定义. 如果是定义,头文件多处包含后,是会产生重复定义的错误. 如果一定要放,可以考虑使用 #ifdef 来防止重定义. 解决方案二: 头文件有宏#ifdef等来防止重复包含 还有另外一个方式#pragma once也可以防止重复包含 解决方案三: 头文件都有防止重复包含的宏

windows2003连接FTP服务器出现530错误解决方法

网站的服务器经常性的改动和升级,都不知道升级些什么,昨天开始链接网站的FTP服务器出现了 530 User liuying cannot log in,我确定密码是正确的,并且我也没有改动过密码,真是郁闷的问题啊. 连接FTP服务器出现530错误的解决方法 530 User *** cannot log in, home directory inaccessible.连接失败 问题分析: 是对服务器的访问权限问题,我的Linux系统出现过这个问题,把文件夹权限设置成777后可以登录 解决方案 1

SQL Server 建立连接时出现与网络相关的错误

  在连接SQL Server 2000数据库的时候,出现以下错误: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) 在连接SQL Server 2005数据库的时候,提示一个错误!错误信息如下! 在建立与服务器的连接时出错.在连接到 SQL Server 2005

网络连接正常,网络速度时快时慢

以下是导致网络速度时快时慢的原因及解决方法: 一.网络自身问题 您想要连接的目标网站所在的服务器带宽不足或负载过大.处理办法很简单,请换个时间段再上或者换个目标网站. 二.网线问题导致网速变慢 我们知道,双绞线是由四对线按严格的规定紧密地绞和在一起的,用来减少串扰和背景噪音的影响.同时,在T568A标准和T568B标准中仅使用了双绞线的 1.2和3.6四条线,其中,1.2用于发送,3.6用于接收,而且1.2必须来自一个绕对,3.6必须来自一个绕对.只有这样,才能最大限度地避免串扰,保证数据传输.

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误

错误信息: 标题: 连接到服务器 ------------------------------ 无法连接到 (local). ------------------------------ 其他信息: 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.未找到或无法访问服务器.请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接. (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) (Microsof

手机文件控制-pc和手机通过usb连接时,怎么设计一个android程序让电脑读出指定的文件夹。

问题描述 pc和手机通过usb连接时,怎么设计一个android程序让电脑读出指定的文件夹. pc和手机通过usb连接时,怎么设计一个android程序让电脑读出指定的文件夹 解决方案 类似各种手机助手 android上跑一个server,电脑上跑client,之间通过adb等通信 解决方案二: 通过USB也可以模拟成网络,通过Socket完成服务器与客户端的通讯.这种方式需要在设置里设置一下,网络中. 解决方案三: 这个需要在手机上安装个App吧