`

《孙鑫VC视频》- UDP网络编程

阅读更多

服务器端(接收端)程序:
1、创建套接字(socket)。
2、将套接字绑定到一个本地地址和端口上(bind)。
3、等待接收数据(recvfrom)。
4、关闭套接字。


客户端(发送端)程序:
1、创建套接字(socket)。
2、向服务器发送数据(sendto)。
3、关闭套接字。


服务器端代码:

    /*
     *UDP Server 
     *2008-12-04
     */
    #include <winsock2.h>
    #include <stdio.h>
    
    void main(){
    	//初始化
    	WORD wVersionRequired;
    	WSAData wsaData;
    	wVersionRequired = MAKEWORD(2,2);
    	
    	WSAStartup(wVersionRequired,&wsaData);
    
    	//创建socket
    	SOCKET server;
    	server = socket(AF_INET,SOCK_DGRAM,0);
    
    	//绑定
    	SOCKADDR_IN addr;
    	addr.sin_family = AF_INET;
    	addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
    	addr.sin_port = htons(6006);
    	bind(server,(SOCKADDR*)&addr,sizeof(SOCKADDR));
    	
    	//接收
    	char recvBuf[100];
    	int recvLen;
    	SOCKADDR_IN clientAddr;
    	int fromLen;
    	recvLen = 100;
    	fromLen = sizeof(SOCKADDR);
    	recvfrom(server,recvBuf,recvLen,0,(SOCKADDR*)&clientAddr,&fromLen);
    	printf("Receive:%s",recvBuf);
    
    	//发送
    	char * sendBuf;
    	int sendLen;
    	sendBuf = "Message from Server!\n";
    	sendLen = strlen(sendBuf) + 1;
    	sendto(server,sendBuf,sendLen,0,(SOCKADDR*)&clientAddr,fromLen);
    
    	//关闭
    	closesocket(server);
    	WSACleanup();
    }
     

    客户端程序:

      /*
       *UDP Client 
       *2008-12-04
       */
      #include <winsock2.h>
      #include <stdio.h>
      
      void main(){
      	WORD wVersionRequired;
      	WSAData wsaData;
      	wVersionRequired = MAKEWORD(2,2);
      	WSAStartup(wVersionRequired,&wsaData);
      
      	SOCKET client;
      	client = socket(AF_INET,SOCK_DGRAM,0);
      
      	char sendBuf[100];
      	int len;
      	SOCKADDR_IN addr;
      	int toLen;
      	char *temp = "Message from Client!\n";
      	sprintf(sendBuf,"%s",temp);
      	len = strlen(sendBuf)+1;
      	addr.sin_family = AF_INET;
      	addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
      	addr.sin_port = htons(6006);
      	toLen = sizeof(SOCKADDR);
      	sendto(client,sendBuf,len,0,(SOCKADDR*)&addr,toLen);
      
      	char recvBuf[100];
      	int recvLen;
      	SOCKADDR_IN addr_in;
      	int fromLen;
      	recvLen = 100;
      	fromLen = sizeof(SOCKADDR);
      	recvfrom(client,recvBuf,recvLen,0,(SOCKADDR*)&addr_in,&fromLen);
      	printf("Receive:%s",recvBuf);
      
      	closesocket(client);
      	WSACleanup();
      }
       

        分享到:
        评论

        相关推荐

          经典资料:孙鑫vc++视频讲义配套的源代码20集全第1-10。

          《孙鑫VC++视频讲义配套源代码》是一份经典的编程学习资源,涵盖了从基础到进阶的VC++编程知识。这份资料由知名IT讲师孙鑫精心制作,旨在帮助学习者通过实际操作来理解VC++编程的核心概念和技术。源代码分为20个部分...

          Vc程序设计视频,孙鑫老师的VC视频

          Vc程序设计视频,孙鑫老师的VC视频,使你精通VC程序设计,让你能够自己亲手编写window窗口

          孙鑫VC视频教程笔记[1].doc

          【孙鑫VC视频教程笔记】是一份记录了学习VC++编程知识的文档,主要涵盖了MFC框架和SDK编程的基础概念及技巧。以下是其中涉及到的重要知识点的详细解释: 1. **StdAfx.h**:在MFC项目中,StdAfx.h文件包含了基本的...

          孙鑫C++教程(全20讲)PPT讲义源码及电子书

          最近正在学习C++,费了很多心思,分亨一下我的学习资源,孙鑫C++教程(全20讲)PPT讲义源码及电子书资源包括三部分 1.孙鑫C++教程PPT 2.孙鑫C++教程源码 3.孙鑫C++教程电子书 VC++深入详解的全部课程目录 第一课:...

          孙鑫老师vc视频教程.txt

          孙鑫老师vc视频教程

          vc6.0-MSDN-CHM.rar_C++帮助 chm_MSDN_VC6_leaderqvv_msdn6.0

          《VC6.0 MSDN帮助文档 CHM版》是一个针对微软Visual C++ 6.0集成开发环境(IDE)的官方技术文档集合,以压缩包形式提供,内含丰富的C++编程知识。这个CHM(Compiled Help Manual)文件是Windows操作系统下的帮助文件...

          孙鑫 c++ 视频个人总结

          在孙鑫的C++视频教程中,我们深入学习了C++这一强大且广泛使用的编程语言。这个教程不仅涵盖了C++的基础语法,还涉及了更为高级的主题,如算法、数据结构和编译原理,旨在帮助初学者全面理解C++并具备实际编程能力。...

          孙鑫VC++视频讲座配套幻灯+全套示例源代码

          《孙鑫VC++视频讲座配套幻灯+全套示例源代码》是一份全面学习VC++编程的宝贵资源,由知名讲师孙鑫精心制作。这份资料集合了理论讲解、实例演示和源码分析,旨在帮助初学者及有经验的开发者深入理解和掌握VC++这一...

          孙鑫 VC++ 深入详解书中源码

          《孙鑫 VC++ 深入详解》是一本深受程序员喜爱的VC++技术书籍,作者孙鑫以其深入浅出的讲解方式,详细剖析了VC++的底层机制和高级特性。书中的源码是理解理论知识的关键实践部分,通过分析和运行这些代码,读者可以更...

          VC深入详解(孙鑫笔记)自学必备

          《VC深入详解(孙鑫笔记)自学必备》是面向初学者和进阶者的一份珍贵资料,由知名IT专家孙鑫编撰。这份文档详细介绍了Microsoft Visual C++(简称VC)的相关知识,涵盖了从基本概念到高级编程技巧的广泛内容。通过这份...

          [VC.深入详解].孙鑫.余安萍.part1_vc++孙鑫_

          很好的VC++入门教程,是新手的必选,同时也是函数使用参数手册 1

          vc视频教程-MFC AppWizard的原理与MFC程序框架的剖析.zip

          《VC视频教程——MFC AppWizard的原理与MFC程序框架的剖析》是孙鑫老师针对C++编程语言中的Microsoft Foundation Class (MFC) 库进行深入讲解的课程。MFC是一个由微软提供的C++类库,它为Windows应用程序开发提供了...

          孙鑫老师VC++6.0视频教程对应源代码

          他的VC++6.0视频教程,旨在帮助学习者从零开始掌握C++编程语言,理解面向对象编程的基本概念,并通过实践编写Windows应用程序。 【第一课源代码解析】 "Lesson1Code"包含了孙鑫老师VC++6.0视频教程的第一课源代码。...

          孙鑫视频c++源代码

          《孙鑫视频C++源代码》是一份专为C++初学者设计的学习资源,它包含了从基础到进阶的二十个章节的完整源代码。这些源代码是根据孙鑫老师的教学视频编写的,旨在帮助学习者深入理解C++语言的核心概念和高级特性。 在...

          J2SE-孙鑫授课总结的ppt

          网络编程是Java SE的重要组成部分,孙鑫老师可能会讲解Socket编程,包括TCP和UDP协议,以及服务器端和客户端的交互。这对于开发网络应用或者分布式系统具有实际意义。 最后,PPT可能还会涵盖I/O流和NIO(New I/O)...

          C++视频教程-VC深入详解自学笔记(完全免费

          《C++视频教程-VC深入详解自学笔记》是一份全面且免费的学习资源,旨在帮助初学者和有一定基础的开发者深入理解C++编程语言,特别是通过Visual C++ (VC++)这一开发环境进行实践。教程由孙鑫整理,涵盖了从基础到高级...

          java技术从入门到精通(孙鑫)学习笔记-Lesson2.doc

          java技术从入门到精通(孙鑫)学习笔记-Lesson2

          孙鑫java视频教程课件.doc

          孙鑫java视频教程课件.doc

          孙鑫C++-Windows使用原理.rar_windows_回调函数_消息队列 _窗口 VC

          Windows程序运行原理及程序编写流程,窗口产生过程,句柄原理,消息队列,回调函数,窗口关闭与应用程序退出的工作关系,使用VC++的若干小技巧,stdcall与cdecl调用规范的比较,初学者常犯错误及注意事项。

        Global site tag (gtag.js) - Google Analytics