首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

问下UDP客户端怎么编写接收消息

2012-06-15 
问下UDP客户端如何编写接收消息服务器端 我用了个消息模型udpserversocket socket(AF_INET,SOCK_DGRAM,0

问下UDP客户端如何编写接收消息
服务器端 我用了个消息模型

udpserversocket = socket(AF_INET,SOCK_DGRAM,0);

  if ( udpserversocket == INVALID_SOCKET )
  return;

  sockaddr_in addr = {0};
  addr.sin_family = AF_INET;
  addr.sin_port = htons(6001);
  addr.sin_addr.s_addr = inet_addr("127.0.0.1");
  
  int n_Ret = bind(udpserversocket,(sockaddr*)&addr,sizeof(sockaddr_in));
  if ( SOCKET_ERROR == n_Ret )
  {
  closesocket(udpserversocket);
  udpserversocket = INVALID_SOCKET;
  return;
  }


  WSAAsyncSelect(udpserversocket,m_hWnd,WM_USER+1,FD_READ|FD_CLOSE);

服务端接收到消息处理
  case FD_READ:
  {
  sockaddr_in fromaddr = {0};
  int nSize = sizeof(fromaddr);

  //WSAEMSGSIZE csTxt.GetBufferSetLength(4)

  int nRecvedNum = 0;
  nRecvedNum = recvfrom(udpserversocket,
  csTxt.GetBufferSetLength(4096),
  4096,0,
  (sockaddr*)&fromaddr,&nSize);

我想发送给接收到的这个客户端消息 服务端应该怎么写
客户端呢 难道客户端跟服务端一样也得绑定个端口?





[解决办法]
哎, 一个比一个扯淡, 无语了.

服务端BIND在一个PORT提供服务, 客户端直接向服务端IP:PORT发消息就可以了, 客户端的内核会自动BIND一个LOCAL IP/PORT.

热点排行