服务端:

 #include<iostream>
#include<winsock2.h>
#include<stdio.h>
#pragma comment(lib,"WS2_32.lib")//显示连接套接字库
int main()
{
WSADATA data;//定义WSADATA结构体
WORD w=MAKEWORD(,);//定义版本号
char sztext[]="Welcome you\r\n";//定义并初始化发送到客户端的字符数组
::WSAStartup(w,&data);//初始化套接字库
SOCKET s;
s=::socket(AF_INET,SOCK_DGRAM,);
sockaddr_in addr,addr2;//定义套接字地址结构
int n=sizeof(addr2);
char buff[]={};//接收数据缓冲区
addr.sin_family=AF_INET;//初始化地质结构
addr.sin_port=htons();
addr.sin_addr.S_un.S_addr=INADDR_ANY;
::bind(s,(sockaddr*)&addr,sizeof(addr));//绑定套接字
printf("UDP Server already start!\r\n");
if(::recvfrom(s,buff,,,(sockaddr*)&addr2,&n)!=-)//接收客户端信息
{
printf("%s already connect\r\n",inet_ntoa(addr2.sin_addr));
::sendto(s,sztext,sizeof(sztext),,(sockaddr*)&addr2,n);//向客户端发送字符数组
::closesocket(s);//关闭套接字句柄
::WSACleanup();//释放套接字库
}
if(getchar())
{
return ;
}
else
{
::Sleep();
}
}

客户端:

 #include<iostream>
#include<winsock2.h>
#include<stdio.h>
#pragma comment(lib,"WS2_32.lib")//显示连接套接字库
int main()
{
WSADATA data;//定义WSADATA结构体
WORD w=MAKEWORD(,);//定义版本号
::WSAStartup(w,&data);//初始化套接字库
SOCKET s;
s=::socket(AF_INET,SOCK_DGRAM,);//创建TCP套接字
sockaddr_in addr,addr2;
int n=sizeof(addr2);
char buff[]="Wde";
char sztext[]={};
addr.sin_family=AF_INET;//初始化地质结构
addr.sin_port=htons();
addr.sin_addr.S_un.S_addr=inet_addr("10.203.117.150");
printf("UDP Clienct already start\r\n");
if(::sendto(s,sztext,sizeof(sztext),,(sockaddr*)&addr,n)!=)
{
::recvfrom(s,buff,,,(sockaddr*)&addr2,&n);
printf("Server say:%s\r\n",buff);
::closesocket(s);
::WSACleanup();//释放套接字库
}
if(getchar())
{
return ;
}
else
{
::Sleep();
}
}

[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. ORACLE fetch bulk collect into limit

    DECLARE TYPE rr IS REF CURSOR; TYPE r_emp IS RECORD( empno ), ename ), job ), mgr ), hiredate DATE, ...

  2. 将CSDN和WordPress上的旧文章迁移过来

    我最早用的博客是CSDN,但是不喜欢CSDN的博客,发文章还要审核,界面做的也很模糊,发个文章还必须选个分类.总之不像是用心在做博客这个功能. 后来,我自己搭建了一个网站(www.wangyufeng ...

  3. 《Cracking the Coding Interview 》之 二叉树的创建 与 遍历(非递归+递归version)

    #include <iostream> #include <cstdio> #include <vector> #include <stack> #de ...

  4. 2015/09/09夜晚js继续学习

    单词:标量(scalar)数组(array)元素(element)填充(populating)下标(index) 向数组中添加元素的操作称之填充.在填充数组时,不仅需要给出新元素的值,还需要给新元素在 ...

  5. 解决 label 多行间距

    使用. 一个是间距,一个是行高,但是鉴于多行,都写的话,就相当于双倍行高了.我就用行高代替间距. self.textLabel.attributedText = [self getAttributed ...

  6. Odoo下拉动作列表

  7. iOS富文本的使用

    NSString *name = nil; if (_payNumber == 1) { name = [NSString stringWithFormat:@"向%@收款",na ...

  8. poj练习题的方法

    poj1010--邮票问题 DFSpoj1011--Sticks dfs + 剪枝poj1020--拼蛋糕poj1054--The Troublesome Frogpoj1062--昂贵的聘礼poj1 ...

  9. myeclipse2013以及以后的最新版各种破解(其实就是获取活跃码而已)

    当你下到最新版的myeclipse-blue的时候你是否会为注册激活而烦恼呢,别担心,其实激活也就那么点事儿,请遵循我如下做法就可以了: 免积分下载破解地址 http://download.csdn. ...

  10. 【转】Linux下打包压缩war和解压war包

    解压demo.war $ mkdir demo //解压前建议先创建目录,否则直接解压到当前目录了 $ cd demo/ $ jar -xvf ../demo.war 解压到指定的demo目录,然后就 ...