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 <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" );
就这样。