C++ 侦听UDP端口

C++ 侦听UDP端口,c++,udp,C++,Udp,我需要连接到端口500并打印通过的数据。有人能给我指出正确的方向吗?也许是一个示例程序 漏掉了一部分。。使用boost asio 我将c/c++与以下代码一起使用: int z; struct sockaddr_in portList; int len_inet; int s; char dgram[512]; time_t td; struct tm tm; s = socket(AF_INET,SOCK_DGRAM,0); if ( s == -1 ) {

我需要连接到端口500并打印通过的数据。有人能给我指出正确的方向吗?也许是一个示例程序

漏掉了一部分。。使用boost asio

我将c/c++与以下代码一起使用:

  int z;
  struct sockaddr_in portList;
  int len_inet;
  int s;
  char dgram[512];
  time_t td;
  struct tm tm;
  s = socket(AF_INET,SOCK_DGRAM,0);
  if ( s == -1 ) {
    strerror(errno);
  }
  memset(&portList,0,sizeof portList);
  portList.sin_family = AF_INET;
  portList.sin_port = htons(500);
  portList.sin_addr.s_addr =  inet_addr("127.0.0.1");

  if ( portList.sin_addr.s_addr == INADDR_NONE ) {
    strerror(errno);
  }
  len_inet = sizeof portList;

  z = bind(s, (struct sockaddr *)&portList, len_inet);
  if ( z == -1 ) {
    strerror(errno);
  }

  for (;;) {
    z = recv(s, dgram, sizeof dgram, 0);
    if ( z < 0 ) {
      strerror(errno);
    }
    std::cout << dgram << std::endl;
  }

我做错了什么?

看看beej的socket编程指南


请看beej的socket编程指南


谷歌C++ UDP教程?还请注意,1024以下的端口具有特权,可能需要您以管理员或root用户身份运行程序。欢迎!请花几分钟时间阅读这篇文章。如果你通读了这本书,你会得到一个徽章c:你想要一个像boost或qt这样的库吗?它应该是独立于系统的吗?如果没有,它应该支持哪些操作系统?您检查了文档吗?下面是谷歌C++的UDP教程吗?还请注意,1024以下的端口具有特权,可能需要您以管理员或root用户身份运行程序。欢迎!请花几分钟时间阅读这篇文章。如果你通读了这本书,你会得到一个徽章c:你想要一个像boost或qt这样的库吗?它应该是独立于系统的吗?如果没有,它应该支持哪些操作系统?您检查了文档吗?这里是和被认为是糟糕的形式。你能再补充一些细节吗?@Pradheep,这是一个荒谬的答案。你要他读一整本网络书?当他问的问题更加开放时,我给出了答案。如果我没记错的话,我应该如何编写udp服务器来监听端口500。所以简单的答案是参考指南。他后来添加了代码。一个好奇而不是评判的建议被认为是拙劣的形式。你能再补充一些细节吗?@Pradheep,这是一个荒谬的答案。你要他读一整本网络书?当他问的问题更加开放时,我给出了答案。如果我没记错的话,我应该如何编写udp服务器来监听端口500。所以简单的答案是参考指南。他后来添加了代码。建议应该是好奇的,而不是主观的
����҉