当前位置: 技术问答>linux和unix
如何指定发送端口
来源: 互联网 发布时间:2015-01-04
本文导语: 本人用gcc/g++做socket方面的程序,现在遇到一个问题: 能不能强行设置一个端口,让我要发送到其他机器的包通过这个 端口发送出去,怎么设置,在程序中如何实现? 在线等待! | 这是你要...
本人用gcc/g++做socket方面的程序,现在遇到一个问题:
能不能强行设置一个端口,让我要发送到其他机器的包通过这个
端口发送出去,怎么设置,在程序中如何实现?
在线等待!
能不能强行设置一个端口,让我要发送到其他机器的包通过这个
端口发送出去,怎么设置,在程序中如何实现?
在线等待!
|
这是你要的吗?
#include
int bind(int sockfd, const struct sockaddr *myaddr, socklen_t addrlen);
函数bind套接口分配一个本地协议地址,对于网际协议,协议地址是32位IPv4地址或128位IPv6地址与16位TCP或UDP端口号的组合。
如果TCP客户或服务器不调用bind,当connect或listen时,内核就要为套接口选择一个临时端口。让内核来选择临时端口,这对TCP客户来说是正常的,除非应用要求一个预留端口;但对服务器来说是极少见的,因为服务器是通过它们的周知端口被大家认识的。
见:Unix网络编程( 第1卷 ) P75。
#include
int bind(int sockfd, const struct sockaddr *myaddr, socklen_t addrlen);
函数bind套接口分配一个本地协议地址,对于网际协议,协议地址是32位IPv4地址或128位IPv6地址与16位TCP或UDP端口号的组合。
如果TCP客户或服务器不调用bind,当connect或listen时,内核就要为套接口选择一个临时端口。让内核来选择临时端口,这对TCP客户来说是正常的,除非应用要求一个预留端口;但对服务器来说是极少见的,因为服务器是通过它们的周知端口被大家认识的。
见:Unix网络编程( 第1卷 ) P75。