重新SOCKET API时对bind的发现
来源:互联网 发布:淘宝十元包邮是真货么 编辑:程序博客网 时间:2024/05/30 05:14
以前对SOCKET API的学习都是基于中文的资料,看MSDN也只是针对几个难点函数而也,而没有细看过其它的函数。这几天要好好重新温习一下整个SOCKET API了。
今在看到bind的时候,才发现了bind的一个功能,就是先绑定后再取得绑定的端口号。这样,在那些通信过程中要临时打一个端口进行通信,就可以方便的告知对方这边已经绑定好的端口号。做法就是在创建sockaddr_in这个结构的时候,把0赋给nport这个成员。而在以前,我以为是要一个一个端试的。原文如下:
For TCP/IP, if the port is specified as zero, the service provider assigns a unique port to the application with a value between 1024 and 5000. The application can use getsockname after calling bind to learn the address and the port that has been assigned to it. If the Internet address is equal to INADDR_ANY, getsockname cannot necessarily supply the address until the socket is connected, since several addresses can be valid if the host is multihomed. Binding to a specific port number other than port 0 is discouraged for client applications, since there is a danger of conflicting with another socket already using that port number.
这也解释了为什么在FTP通过程中,用到的端口号除了指定的20,21外,都是在1024到5000间的。
不过现在对于FTP是怎么用指定的端口去连接(connect)客户端还是不太清楚, 在connectex中好似说了,只是还看不太明白,有待再解决。
- 重新SOCKET API时对bind的发现
- 发现对java的API有点感悟
- 发现自己对socket还是比较熟悉的
- 《Windows API巡礼》---socket和bind
- socket bind failed的解决方法
- udp socket的bind问题
- socket bind failed的解决方法
- 编译时重新编译api的错误
- Tomcat安装时的问题: Socket bind failed
- 遇到的问题----tomcat服务器启动时Socket bind failed
- 关于多网卡时socket bind失效的问题
- C API Socket 连接时间服务器,并修改自己系统的时间(对时)
- C API Socket 连接时间服务器,并修改自己系统的时间(对时)
- socket bind
- socket-bind
- socket-bind
- socket bind
- tcp/ip协议栈--socket API 之bind()
- 企业管理的“斯隆铁律”
- 1.从需求到架构:MSF+UML在项目中的具体应用
- ejb2.1中ejbQL的缺点,权且作为笔记
- 我在通用汽车的岁月:斯隆自传
- 从"欲善其事、先利其器"解析软件开发的目的
- 重新SOCKET API时对bind的发现
- 关于C++的函数模版
- 是时候要好好总结一下了。。。
- 沃森传——彼得·德鲁克最崇拜的企业家,特立独行者和他的IBM帝国
- 都是什么乱七八糟的啊……
- Intel HEX文件格式
- 1-jacob 例子1
- Jakarta Commons项目组介绍(一)
- 开篇贴