日期:2014-05-16  浏览次数:20697 次

主机端口的固定
问题是这样的:
我想要访问一个服务器的服务,比如,访问一台服务器的iscsi服务。我知道这个服务的端口号是3260,所以我可以访问它,但是我自己主机的连接这个连接的端口号是变化的,即本次登录和下次登录是不一样的。
请问:
怎么固定本机的这个端口?
------解决方案--------------------
首先,不知道你想让连接的端口号不变是基于什么需求。但是产生的原因如下:
tcp或者udp连接过程
客户端:
socket
connect(udp一般不需要)(tcp会在此时由系统随机选一个可用端口)
send,sendto(recv,recvfrom)(UDP会在此时由系统随机选一个可用端口)

如果你想让自己的客户端连接时的端口不变,则
顺序变为这样:
客户端:
socket
bind(这里你指定一个固定的端口)
然后后面相同。

解决方法:
你修改下你的客户端,然后socket建立套接字后,添加一个bind就行了。不过不知道这个客户端是不是你写的,是不是开源的。如果都否,那就想别的方法吧。