| 发表于:2007-09-18 09:44:38 楼主 |
按教材上写了个用udp的服务端,运行后发现屏幕直接打出乱码,我看了半天也没发现错在哪,郁闷啊,下面的是代码 #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 recvbuffer[100]; recvfrom(socksrv,recvbuffer,100,0,(sockaddr*)&addrclient,&len); printf( "%s\n ",recvbuffer); closesocket(socksrv); wsacleanup( ); } |
|
|
|
|