搜索
bottom↓
回复: 5

菜鸟入门求解,学孙鑫的课遇到点麻烦~

[复制链接]

出0入0汤圆

发表于 2011-11-3 11:54:34 | 显示全部楼层 |阅读模式
菜鸟入门求解~我学MFC时按照孙 鑫的课程来学的,学到14课的时候,我照着他的《深入详解》来学的,但是编的程序基本上是和视频一样,但不知道为什么编译后的结果不一样,我也检查了下,检查部出。希望大哥们看下,程序我会在下面贴出~

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2011-11-3 11:55:26 | 显示全部楼层
14课室网络编程  其服务器的程序如下
#include<Winsock2.h>
#include<stdio.h>
void main()
{
        WORD WV;
        WSADATA WD;
        int err;
        WV=MAKEWORD(1,1);//用MAKEWORD函数给WV赋值

        err=WSAStartup(WV,&WD);
        if(err!=0)
        {
                return ;
        }

        if(LOBYTE(WD.wVersion!=1)||HIBYTE(WD.wHighVersion!=1))
        {
                WSACleanup();//如果不相同就调用WSACleanup()来清除套接字
                return;
        }
     
       
        SOCKET SK=socket(AF_INET,SOCK_STREAM,0);//接收服务器端的套接字
        SOCKADDR_IN  ADDR;
        ADDR.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//htonl是网络字节转换函数,这里需要多次的理解
        ADDR.sin_family=AF_INET;
        ADDR.sin_port=htons(6000);

    bind(SK,(SOCKADDR*)&ADDR,sizeof(SOCKADDR));

        listen(SK,5);
           SOCKADDR_IN  ADDR1;
        int len=sizeof(SOCKADDR);
        while(1)
        {
      SOCKET SK1=accept(SK,(SOCKADDR*)&ADDR1,&len);//len要付初始孜
          char sendbuf[100];
          sprintf(sendbuf,"chenbo:%S",inet_ntoa(ADDR1.sin_addr));
          send(SK1,sendbuf,strlen(sendbuf)+1,0);
          char recvbuf[100];
          recv(SK1,recvbuf,100,0);
          printf("%s\n",recvbuf);
          closesocket(SK1);

        }

}

出0入0汤圆

 楼主| 发表于 2011-11-3 11:55:58 | 显示全部楼层
客户端的程序如下
  #include<Winsock2.h>
#include<stdio.h>
void main()
{
        WORD WV;
        WSADATA WD;
        int err;
        WV=MAKEWORD(1,1);//用MAKEWORD函数给WV赋值

        err=WSAStartup(WV,&WD);
        if(err!=0)
        {
                return ;
        }

        if(LOBYTE(WD.wVersion!=1)||HIBYTE(WD.wHighVersion!=1))
        {
                WSACleanup();//如果不相同就调用WSACleanup()来清除套接字
                return;
        }
      
        SOCKET SK1 =socket(AF_INET,SOCK_STREAM,0);

        SOCKADDR_IN ADDR1;
        ADDR1.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
        ADDR1.sin_port=htons(6000);
        ADDR1.sin_family=AF_INET;
        connect(SK1,(SOCKADDR*)&ADDR1,sizeof(SOCKADDR));
        char recvbuf[100];
        recv(SK1,recvbuf,100,0);
        printf("%s\n",recvbuf);
        send(SK1,"ZHANGSANSHUO:",strlen("ZHANGSANSHUO:")+1,0);
        closesocket(SK1);
        WSACleanup();
}

出0入0汤圆

 楼主| 发表于 2011-11-3 11:56:38 | 显示全部楼层
编译后的结果不管是客户端还是服务器端都是



(原文件名:未命名.jpg)

出0入0汤圆

 楼主| 发表于 2011-11-3 11:57:52 | 显示全部楼层
因为是在学习过程中,希望也是学着孙鑫课程的大大们帮下~

出0入0汤圆

 楼主| 发表于 2011-11-3 18:30:01 | 显示全部楼层
哦 知道原因了,小错误  ~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-18 19:54

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表