Linux网络编程的问题

发布于 2022-10-01 22:14:55 字数 55 浏览 12 评论 0

linux网络编程,使用udp协议,发送数据如何指定源端口?使用sendto函数好像是不行,请教各位大哥大姐。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

简单爱 2022-10-08 22:14:55

struct sockaddr_in my_addr, svr_addr;

  int mysock = socket(AF_INET, SOCK_DGRAM, 0);
  assert(mysock >;= 0);

  bzero(&my_addr, sizeof(my_addr));
  my_addr.sin_family = AF_INET;
  my_addr.sin_addr.s_addr = htonl(INADDR_ANY);
  my_addr.sin_port = htons(你要指定的源端口);
  if (bind(mysock, (struct sockaddr*)&my_addr, sizeof(my_addr)) < 0){
    /* error handle */
  }

  bzero(&svr_addr, sizeof(svr_addr));
  svr_addr.sin_family = AF_INET;
  svr_addr.sin_addr.s_addr = inet_addr("服务器ip";
  svr_addr.sin_port = htons(服务器端口);

  sendto(mysock, buf, buf_len, 0, (struct sockaddr*)&svr_addr, sizeof(svr_addr));

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文