客户端端口分配

  最近项目中发现客户端每次上电后的端口都是一样的,不过在不同的机器上它们之间上电后的端口又不一样。这种表现与我之前的理解的不一样:

若未指定客户端端口,则由系统随机分配

按照我之前的理解,应该是每次上电的端口都会变化。而实际好像这个端口是根据网络协议栈的一些信息经过特定算法得到的。如果重启client端也会发现端口变化,一方面在关闭套接字的2MLS时间里,这个连接处于time_wait状态,端口被占用,所以协议栈分配另外的端口给client,另一方面协议栈的环境变化了,协议栈自动分配的端口也就会变化。可以看看connect源码中分配端口的函数inet_autobind,http://lib.csdn.net/article/computernetworks/38533

  阅读里面的介绍,也了解到了

    当bind的端口号小于1024,会要求root权限。

时间: 2024-10-18 17:30:44

客户端端口分配的相关文章

查看jQuery请求的客户端端口

突然好奇心作祟,想看看jQuery请求时客户端使用的端口号,在IE的F12开发人员工具中并未找到,到chrome的开发者工具中也未找到,通过netstat还是搞不定,换个思路到服务器端研究了下servlet的Request接口API,还是木有,于是有了下面的代码. 1.启动服务类模拟http服务 public class Server { public static void main(String[] args) throws Exception{ ServerSocket serverSoc

linux I/O 端口分配

如同你可能希望的, 你不应当离开并开始抨击 I/O 端口而没有首先确认你对这些端口有 唯一的权限. 内核提供了一个注册接口以允许你的驱动来声明它需要的端口. 这个接口中 的核心的函数是 request_region: #include <linux/ioport.h> struct resource *request_region(unsigned long first, unsigned long n, const char *name); 这个函数告诉内核, 你要使用 n 个端口, 从 f

MFC socket编程(浅出+深度:服务端和客户端端口问题)

要写网络程序就必须用Socket,这是程序员都知道的.而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作.是的,就跟常见的文件操作一样,只要写过就一定知道. 对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了.对于TCP/IP,我们还知道TCP和UDP,前者可以保证数据的正确和可靠性,后者则允许数据丢失.最后,我们还知道,在建立连接前,必须知道对方的IP地址和

请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同

异常详细信息: System.Web.HttpException: 无法向会话状态服务器发出会话状态请求.请确保已启动 ASP.NET State service,并且客户端和服务器端口是相同的.如果服务器位于远程计算机上,请检查 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection 的值,确保服务器接受远程请求. 这是因为ASP.NET State s

uip UDP 服务器广播模式(客户端可以任意端口,并且主动向客户端发送数据)

目前移植uip,发现UDP 服务器模式下,必须指定本地端口以及客户端端口,否则只能讲客户端端口设置为0,才能接收任意端口的数据,但是无法发送数据,因为此时客户端端口设置为0了,我通过将原始数据包中的客户端端口保存下来,并且在发送的时候将客户端端口替换为指定的端口,发送完成之后又设置为0,这样就实现了向任意客户端端口发送数据. uip.c if(uip_udp_conn->lport != 0 && UDPBUF->destport == uip_udp_conn->lpo

uip UDP客户端模式通信移植,本地端口可以随机

目前移植了UDP客户端模式,测试使用广播地址. //udp_client.c /************************************************************************************************************* * 文件名: udp_client.c * 功能: uIP UDP客户端相关函数 * 作者: [email protected] * 创建时间: 2014-06-06 * 最后修改时间: 2014-0

NFSv3 NFSv3针对防火墙端口开通策略 生产环境实践

针对NFSv4版本需要服务官方说明: NFS version 4 (NFSv4) works throughfirewalls and on the Internet, no longer requires an rpcbind service, supportsACLs, and utilizes stateful operations. Red Hat Enterprise Linux 6 supportsNFSv2, NFSv3, and NFSv4 clients. When mount

socket 网络编程快速入门(一)教你编写基于UDP/TCP的服务(客户端)通信

因为UNIX和Win的socket大同小异,为了方便和大众化,这里先介绍Winsock编程. socket 网络编程的难点在入门的时候就是对基本函数的了解和使用,因为这些函数的结构往往比较复杂,参数大部分都是结构体,令人难以记忆和理解. 但是一旦我们知道这些函数包括其参数的具体含义,socket网络编程也就变得不是那么复杂.这里不赘述 具体函数的详细含义,网络上有很多的文章,同时笔者建议大家参考 MSDN,对返回值,参数等会有更好的理解. 以下均为单线程的简单实例,多线程的请关注下一篇文章. (

关于端口

在网络技术中,端口的英文是Port,它有有两种解释: 一是物理意义上的端口,比如,ADSL Modem.集线器.交换机.路由器用于连接其他网络设备的接口,如RJ-45端口.SC端口等等. 二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比浏览网页服务的80端口,用于FTP服务的21端口等. 比如21端口--FTP服务,25端口--SMTP(简单邮件传输协议)服务,80端口--HTTP服务,135端口--RPC(远程过程调用)服务,23端口--Telnet服务