服务端:

  1. #include<iostream>
  2. #include<winsock2.h>
  3. #include<stdio.h>
  4. #pragma comment(lib,"WS2_32.lib")//显示连接套接字库
  5. int main()
  6. {
  7. WSADATA data;//定义WSADATA结构体
  8. WORD w=MAKEWORD(,);//定义版本号
  9. char sztext[]="Welcome you\r\n";//定义并初始化发送到客户端的字符数组
  10. ::WSAStartup(w,&data);//初始化套接字库
  11. SOCKET s;
  12. s=::socket(AF_INET,SOCK_DGRAM,);
  13. sockaddr_in addr,addr2;//定义套接字地址结构
  14. int n=sizeof(addr2);
  15. char buff[]={};//接收数据缓冲区
  16. addr.sin_family=AF_INET;//初始化地质结构
  17. addr.sin_port=htons();
  18. addr.sin_addr.S_un.S_addr=INADDR_ANY;
  19. ::bind(s,(sockaddr*)&addr,sizeof(addr));//绑定套接字
  20. printf("UDP Server already start!\r\n");
  21. if(::recvfrom(s,buff,,,(sockaddr*)&addr2,&n)!=-)//接收客户端信息
  22. {
  23. printf("%s already connect\r\n",inet_ntoa(addr2.sin_addr));
  24. ::sendto(s,sztext,sizeof(sztext),,(sockaddr*)&addr2,n);//向客户端发送字符数组
  25. ::closesocket(s);//关闭套接字句柄
  26. ::WSACleanup();//释放套接字库
  27. }
  28. if(getchar())
  29. {
  30. return ;
  31. }
  32. else
  33. {
  34. ::Sleep();
  35. }
  36. }

客户端:

  1. #include<iostream>
  2. #include<winsock2.h>
  3. #include<stdio.h>
  4. #pragma comment(lib,"WS2_32.lib")//显示连接套接字库
  5. int main()
  6. {
  7. WSADATA data;//定义WSADATA结构体
  8. WORD w=MAKEWORD(,);//定义版本号
  9. ::WSAStartup(w,&data);//初始化套接字库
  10. SOCKET s;
  11. s=::socket(AF_INET,SOCK_DGRAM,);//创建TCP套接字
  12. sockaddr_in addr,addr2;
  13. int n=sizeof(addr2);
  14. char buff[]="Wde";
  15. char sztext[]={};
  16. addr.sin_family=AF_INET;//初始化地质结构
  17. addr.sin_port=htons();
  18. addr.sin_addr.S_un.S_addr=inet_addr("10.203.117.150");
  19. printf("UDP Clienct already start\r\n");
  20. if(::sendto(s,sztext,sizeof(sztext),,(sockaddr*)&addr,n)!=)
  21. {
  22. ::recvfrom(s,buff,,,(sockaddr*)&addr2,&n);
  23. printf("Server say:%s\r\n",buff);
  24. ::closesocket(s);
  25. ::WSACleanup();//释放套接字库
  26. }
  27. if(getchar())
  28. {
  29. return ;
  30. }
  31. else
  32. {
  33. ::Sleep();
  34. }
  35. }

[C++] socket - 2 [UDP通信C/S实例]的更多相关文章

  1. C# 通过socket实现UDP 通信

    UDP不属于面向连接的通信,在选择使用协议的时候,选择UDP必须要谨慎.在网络质量令人十分不满意的环境下,UDP协议数据包丢失会比较严重.但是由于UDP的特性:它不属于连接型协议,因而具有资源消耗小, ...

  2. Linux 简单socket实现UDP通信

    服务器端 #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sy ...

  3. Python的网络编程[0] -> socket[2] -> 利用 socket 建立 TCP/UDP 通信

    Socket 目录 socket 的 TCP/IP 通信基本建立过程 socket 的 UDP 通信基本建立过程 socket 的 UDP 广播式通信基本建立过程 socket 的多线程通信建立过程 ...

  4. C#的Socket实现UDP协议通信

    今天稍花化了一点时间,利用C#的Socket验证了UDP的通信,为接下来特地利用UDP做个分布式的通信仿真系统打下基础.众所周知,UDP 就是用户数据报协议,在互联网参考模型的第四层——传输层.与TC ...

  5. Java网络编程UDP通信原理

    前言 继续今天我们的Java网络编程--TCP和UDP通信 一.TCP和UDP概述 传输层通常以TCP和UDP协议来控制端点与端点的通信   TCP UDP 协议名称 传输控制协议 用户数据包协议 是 ...

  6. VC++使用socket进行TCP、UDP通信实例总结

    1.        两台计算机通信需要协议,通信的两台计算机IP必须唯一 2.        同一个计算机可以进行多个应用程序与其他计算机通信,IP地址唯一,而端口号是区别同一计算机(同一IP)的唯一 ...

  7. Python基于socket模块实现UDP通信功能示例

    Python基于socket模块实现UDP通信功能示例 本文实例讲述了Python基于socket模块实现UDP通信功能.分享给大家供大家参考,具体如下: 一 代码 1.接收端     import ...

  8. [C语言]一个很实用的服务端和客户端进行UDP通信的实例

    前段时间发了个TCP通信的例子,现在再来一个UDP通信的例子.这些可以作为样本程序,用到开发中.“裸写”socket老是记不住步骤,经常被鄙视…… 下面的例子很简单,写一个UDP的server用于收包 ...

  9. C语言socket编程----实现UDP通信

    TCP/IP协议叫做传输控制/网际协议,又叫做网络通信协议.实际上,它包括上百个功能的协议. 套接字(socket):在网络中用来描述计算机中不同程序与其他计算程序的通信方式. 套接字分为三类; 流式 ...

随机推荐

  1. Mysql常用命令行大全——转载

    转载地址:http://www.blogjava.net/supperchen/archive/2012/10/11/389340.html 第一招.mysql服务的启动和停止 net stop my ...

  2. MFC 实现字符串的移动

    在视类添加一个WM_KeyDown,然后实现函数写上 switch(nChar) {.. CRect rc; GetClientRect(&rc);   int nWidth = rc.Wid ...

  3. oracle11g 修改字符集

    查看当前字符集SQL语句: select * from nls_database_parameters where parameter ='NLS_CHARACTERSET'; 修改字符集操作如下,首 ...

  4. S2 第二本书 深入.NET平台和C#编程 总结 by天命

    第一章 深入.NET框架 .NET框架 包含 CLR公共语言运行时 FCL框架类库 CLR(Common Language Runtime)公共语言运行时 CLS(Common Language Sp ...

  5. linux各种命令

    命令  [选项]  [参数] read  -t  30    -p   "Please input a num: "   num 功能:将键盘输入的数赋予num ps   aux  ...

  6. haploview出现"invalid affected status"的解决方法

    haploview弹出这种错误是因为haploview的缺失值默认为0,而plink文件的缺失值一般用"-9"表示,当ped文件的缺失值为"-9"时,haplo ...

  7. 《CSS3秘籍》(第三版)-读书笔记(3)

    第9章 装饰网站导航 1.  选择要定义样式的链接 大部分浏览器都支持4种基本的链接状态:未访问的链接.已访问的链接.访问者的鼠标正悬停在上方的链接,以及正被单击的链接.CSS提供了与这些状态对应的4 ...

  8. linux中时间的更改

    # tzselectPlease identify a location so that time zone rules can be set correctly.Please select a co ...

  9. Samba服务器搭建配置

    本次环境: 服务端-centos6.8-192.168.2.200 客户端1-centos6.8-192.168.2.201 客户端2-Windows7-192.168.2.104 假设条件如下: 使 ...

  10. sd_cms置顶新闻,背景颜色突击显示

    维护之前的一个客户网站,使用的是sd_cms系统,因为好久没有维护了,看到这网站的时候,真不敢相信,自己也曾做出过这样的网站. 客户要求置顶新闻始终在最上面,有背景颜色突击显示. 找到对应的代码,修改 ...