使用udp socket时,如何设置udp的源端口?

tuman 2004-05-06 03:11:41
直接创建一个新的socket时,发送数据使用的系统分配的端口,我想指定源端口,怎么弄呢?多谢
...全文
971 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
COM_MOC 2004-05-07
  • 打赏
  • 举报
回复
又不绑定,那应该是最后的招了,:D
tuman 2004-05-07
  • 打赏
  • 举报
回复
如果不绑定,是不是只能用raw socket哪?
fzel_net 2004-05-07
  • 打赏
  • 举报
回复
//port 就是你要绑定的端口号了
void CreatSocket(unsigned int ip, int port){
int fd;
struct sockaddr_in addr;
if(fd=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP)<0){
printf("creat socket failed\n");
}
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = ip;
if (bind(fd, (struct sockaddr *)&addr, sizeof(struct sockaddr)) == -1) {
close(fd);
return -1;
}

wangle11111 2004-05-07
  • 打赏
  • 举报
回复
使用原始套接字IPPROTO_UDP ,然后用设置IP_HDRNCAL选项,,就可以自己定义一个UDP包头了
lsof 2004-05-06
  • 打赏
  • 举报
回复
bind到某个本地端口

醉马不肖 2004-05-06
  • 打赏
  • 举报
回复
bind

4,358

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧