|
my_addr.sin_family = AF_INET;
my_addr.sin_port = 0;
my_addr.sin_addr.s_addr = INADDR_ANY;
memset(&(my_addr.sin_zero),0,8);
if (bind(s, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))== -1) {
cout<<"bind error"<<endl;
}
这样可以随机绑定一个本机的有效端口号,但是我怎么知道它绑定的是哪一个端口号呢?在网上看说使用connect就会用默认bind函数绑定的端口号发送,虽然这样可以得到随机绑定的端口,但是那是远程主机接收时可以得到,我想bind后本机做监听服务,而远程主机通过随机绑定的这个端口号访问,也就是我想知道不使用connect发送,如何知道刚刚本机bind随机绑定的端口号是什么,有什么方法么?谢谢大家了! |
|