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

socket 编程,该怎么解决

2013-01-19 
socket 编程#include Winsock2.h#include stdio.hvoid main(){WORD wVersionRequestedWSADATA wsaDat

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 sockStr=socket(AF_INET,SOCK_STREAM,0);


    SOCKADDR_IN  addrSrv;
    addrSrv.sin_addr.S_un.S_addr =htonl(INADDR_ANY);
    addrSrv.sin_port=htons(6000);
addrSrv.sin_family=AF_INET;

bind(sockStr,(sockaddr *)&sockStr,sizeof(sockStr));

listen(sockStr,5);

SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
while(TRUE)
{
        SOCKET stockcon=accept(sockStr,(SOCKADDR *)&addrClient
,&len);
char buffer[100];
sprintf(buffer,"welcome %s to http //www.sunxin.org",
   inet_ntoa(addrClient.sin_addr));

send(stockcon,buffer,strlen(buffer)+1,0);

char recvbuf[100];
recv(stockcon,recvbuf,100,0);
printf("%s\n",recvbuf);
        closesocket(stockcon);
}

}
运行时出现   烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫
是怎么回事啊?那位大侠帮看看,改一下!!!谢谢
[解决办法]
bind(sockStr,(sockaddr *)&addrSrv,sizeof(addrSrv));
[解决办法]
bind(sockStr,(sockaddr *)&addrSrv,sizeof(sockStr));

bind本地socket到一个sockaddr的结构上

热点排行