UDP鏈接代碼

因爲只有部分代碼,本身填不上.......程序未能運行成功,悲劇!socket

server:spa

 1 SOCKET s = ::socket(AF_INET,SOCK_DGRAM,IPPROTO_TCP);  2      if(s == INVALID_SOCKET)  3  {  4          printf("Failed socket()\n");  5          return 0;  6  }  7      //填充sockaddr_in結構
 8  sockaddr_in sin;  9      sin.sin_family = AF_INET; 10      sin.sin_port = htons(4567); 11      sin.sin_addr.S_un.S_addr = INADDR_ANY; 12      //綁定這個套接字的一個本地地址
13      if(::bind(s,(LPSOCKADDR)&sin,sizeof(sin)) == SOCKET_ERROR) 14  { 15          printf("Failed bind()\n"); 16          return 0; 17  } 18      //進入監聽模式
19      if(::listen(s,2) == SOCKET_ERROR) 20  { 21          printf("Failed listen()\n"); 22          return 0; 23  } 24      //接收數據
25      char buff[1024]; 26  sockaddr_in addr; 27      int nLen = sizeof(addr); 28      while(TRUE) 29  { 30          int nRecv = ::recvfrom(s,buff,1024,0,(sockaddr*)&addr,&nLen); 31          if(nRecv > 0) 32  { 33              buff[nRecv] = '\0'; 34              printf("接收到數據 (%s):%s",::inet_ntoa(addr.sin_addr),buff); 35  } 36  } 37      ::closesocket(s);

client:code

1 sockaddr_in addr; 2      addr.sin_family=AF_INET; 3      addr.sin_port=htons(4567); 4      addr.sin_addr.S_un.S_addr=inet_addr("49.140.16.244"); 5      //發送數據
6      char szText[] = "TCP Server Demo!\r\n"; 7      ::sendto(s,szText,strlen(szText),0,(sockaddr*)&addr,sizeof(addr));

只能這樣了,往後再說server

相關文章
相關標籤/搜索