2

ポート500に接続して、通過するデータを印刷する必要があります。誰かが私を正しい方向に向けることができますか?たぶんサンプルプログラム。

一部を逃した..ブースト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;
  }

しかし、私が得るのは次のようなガベージ値だけです:

����҉

私は何を間違えていましたか?

4

1 に答える 1

-6

beej のソケットプログラミングのガイドを見てください。

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

于 2013-03-15T13:20:48.447 に答える