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 ) {
    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编程指南

http://beej.us/guide/bgnet/

关于c++ - 监听 UDP 端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15432197/

相关文章:

c++ - 如何处理被认为有更改危险但稳定的代码?

c++ - C++中的逗号运算符

c++ - 为什么在调试过程中有时窗口标题黑色和按钮无框

C#。 UDP单播

java - 同一服务器监听不同的套接字

c++ - 激发 'inline' 说明符的现实世界示例?

C++ strcpy(Struct.Property, "VALUE") 在 C# 中使用?

c# - 分割UDP数据包

ffmpeg 到 ffserver 有效,但无法查看

udp - 使用 Julia 设置 UDP