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

孙鑫的第14课网络编程,为什么在VC6下好好的,在vs2010没得到想要的效果?该如何处理

2012-02-23 
孙鑫的第14课网络编程,为什么在VC6下好好的,在vs2010没得到想要的效果?两个工程的代码如下:(都是Win32 Con

孙鑫的第14课网络编程,为什么在VC6下好好的,在vs2010没得到想要的效果?
两个工程的代码如下:(都是Win32 Console Application)

TCPSrv工程:

C/C++ code
#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 socketSrv=socket(AF_INET,SOCK_STREAM,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(socketSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));    listen(socketSrv,5);    SOCKADDR_IN addrClient;    int len=sizeof(SOCKADDR);    while(1)    {        SOCKET socketConn=accept(socketSrv,(SOCKADDR*)&addrClient,&len);        char sendBuf[100;        sprintf(sendBuf,"Welcome %s to http://www.ding.org",inet_ntoa(addrClient.sin_addr));        send(socketConn,sendBuf,strlen(sendBuf)+1,0);        char recvBuf[100];        recv(socketConn,recvBuf,100,0);        printf("%s\n",recvBuf);        closesocket(socketConn);    }}


TCPClient工程:
C/C++ code
#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 socketClient=socket(AF_INET,SOCK_STREAM,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);    connect(socketClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));    char recvBuf[100;    recv(socketClient,recvBuf,100,0);    printf("%s\n",recvBuf);    send(socketClient,"this is zhangsan",strlen("this is zhangsan")+1,0);    closesocket(socketClient);    WSACleanup();}




我都包含了WS2_32.lib的。
在VS2010下,
先运行第一个工程,啥都没有。
第二个工程不断输出 烫烫烫(很多“烫”字)welcome 204.204.204.204 to http://www.ding.org 烫烫(很多烫)
这时,第一个工程依旧啥都没有。

[解决办法]
57920702 QQ联系!
[解决办法]
探讨
引用:

vs2010下编译成功,代码直接拷贝楼主的,没有出现楼主说的出现很多“烫”字。
ws2_32.lib这个库和楼主添加的地方不一样:
#include<WinSock2.h>
#include<stdio.h>
#pragma comment(lib,"ws2_32.lib")//多了一句这个

另外属性上 "项目"->"项目属性"……

热点排行