vc中socket问题,望高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:53:13
服务器端代码如下:
#include <Winsock2.h>
#include <stdio.h>

char buf[1500];

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;
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(8888);

//绑定套接字
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));

while(1)
{
// int len = rcv(sockeSrv, buf);

// snmp_recv(buf, len);
}
}

错误提示如下:
main.c
E:\

第一行应该写
#include <windows.h>


===============
把.c文件都改成.cpp就没问题了……VC++真是严重的悲剧

要链接相应的库文件ws2_32.lib 你还要加监听吧~~我加入库文件之后没有错误啊~

直接用头文件#include <Winsock.h>就可以了,还要加上:
#pragma comment( lib, "Ws2_32.lib" );
就这样。