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

socket 小弟我错在哪了

2012-03-15 
socket 我错在哪了?服务器:#includeWinsock2.h#includestdio.hvoidmain(){WORDwVersionRequestedWSAD

socket 我错在哪了?
服务器:
#include   <Winsock2.h>
#include   <stdio.h>

void   main()
{
WORD   wVersionRequested;
WSADATA   wsaData;
int   err;

wVersionRequested   =   MAKEWORD(   1,   1   );

err   =   WSAStartup(   wVersionRequested,   &wsaData   );
if   (   err   !=   0   )   {
return;
}


if   (   LOBYTE(   wsaData.wVersion   )   !=   1   ||
                HIBYTE(   wsaData.wVersion   )   !=   1   )   {
WSACleanup(   );
return;  
}

SOCKET   sockSrv=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN   addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);

bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

SOCKADDR_IN   addrClient;
int   len=sizeof(SOCKADDR);
char   recvBuf[100];

recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);
printf( "%s\n ",recvBuf);
closesocket(sockSrv);
WSACleanup();
}
客户端:
#include   <Winsock2.h>
#include   <stdio.h>

void   main()
{
WORD   wVersionRequested;
WSADATA   wsaData;
int   err;

wVersionRequested   =   MAKEWORD(   1,   1   );

err   =   WSAStartup(   wVersionRequested,   &wsaData   );
if   (   err   !=   0   )   {
return;
}


if   (   LOBYTE(   wsaData.wVersion   )   !=   1   ||
                HIBYTE(   wsaData.wVersion   )   !=   1   )   {
WSACleanup(   );
return;  
}

SOCKET   sockClient=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN   addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr( "127.0.0.1 ");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);

sendto(sockClient, "Hello ",strlen( "Hello ")+1,0,
(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
closesocket(sockClient);
WSACleanup();
}

[解决办法]
6000附近的一些端口

热点排行