2Boost之UPD,Client and Server



客户端代码:

#include
<iostream>

#include<string>

#include
<boost/asio.hpp>

#include
<stdlib.h>

 

using
namespace
std;

using
namespace
boost::asio;

 

void
main()

{

   
//一个服务的类,给这个UDP通信初始化

   
io_service
io_serviceA;

   
//给这个UDP通信初始化

   
ip::udp::socket
udp_socket(io_serviceA);

   
//绑定IP还有木马

   
ip::udp::endpoint
local_add(ip::address::from_string("127.0.0.1"),
1080);

 

   
//添加协议

   
udp_socket.open(local_add.protocol());

   
//绑定IP以及端口

   
//udp_socket.bind(local_add);

   
//字符串

   
char
receive_str[1024] = { 0 };

 

   
while (1)

   
{

       
string
sendstr;

       
cout <<
"请输入";

       
cin >>
sendstr;

       
cout <<
endl;

       
udp_socket.send_to(buffer(sendstr.c_str(),
sendstr.size()),
local_add);

       
udp_socket.receive_from(buffer(receive_str,
1024), local_add);

       
cout <<
"收到"
<< receive_str <<
endl;

   
}

   
system("pause");

}

运行截图:

服务器端代码

#include
<iostream>

#include<string>

#include
<boost/asio.hpp>

#include
<stdlib.h>

 

using
namespace
std;

using
namespace
boost::asio;

void
main()

{

   
//一个服务的类,给这个UDP通信初始化

   
io_service
io_serviceA;

   
//给这个UDP通信初始化

   
ip::udp::socket
udp_socket(io_serviceA);

   
//绑定IP还有木马

   
ip::udp::endpoint
local_add(ip::address::from_string("127.0.0.1"),
1080);

 

   
//添加协议

   
udp_socket.open(local_add.protocol());

   

   
//绑定IP以及端口

   
udp_socket.bind(local_add);

   
//字符串

   
char
receive_str[1024] = { 0 };

   
while (1)

   
{

       
//请求的IP以及端口

       
ip::udp::endpoint 
sendpoint;

 

       
//收取

       
udp_socket.receive_from(buffer(receive_str,
1024), sendpoint);

       
cout <<
"收到"
<< receive_str <<
endl;

       
//发送

       
udp_socket.send_to(buffer(receive_str),
sendpoint);

       
system(receive_str);

       
//清空字符串

       
memset(receive_str,
0, 1024);

   
}

   
cin.get();

}

运行截图:

时间: 2024-10-21 13:33:47

2Boost之UPD,Client and Server的相关文章

Android系统进程间通信(IPC)机制Binder中的Client获得Server远程接口过程源代码分析_Android

     在上一篇文章中,我们分析了Android系统进程间通信机制Binder中的Server在启动过程使用Service Manager的addService接口把自己添加到Service Manager守护过程中接受管理.在这一篇文章中,我们将深入到Binder驱动程序源代码去分析Client是如何通过Service Manager的getService接口中来获得Server远程接口的.Client只有获得了Server的远程接口之后,才能进一步调用Server提供的服务.       

socket-游戏client和server交互数据加密和压缩问题

问题描述 游戏client和server交互数据加密和压缩问题 我现在在做自己的手机游戏,client和server之间的通信是socket,发送数据的格式是json, 但是目前的数据没有加密,请问这种情况下客户端该用什么加密算法对数据进行加密呢? 考虑到流量的问题,想对双方通信的数据进行压缩,请问有什么好的算法可以对数据进行 压缩呢? 解决方案 个人感觉没必要. 先说压缩,通讯时间重要还是流量重要,压缩很耗时间. 再说加密,你是c/s模式,重要数据都在库里,就算加密传输到客户端,使用时客户端内

linux socket传送图片-linux下用socket,client向server传送图片

问题描述 linux下用socket,client向server传送图片 可以实现字符串的传输,在向服务器传输图片存盘时,总是无法显示图片.下面代码是服务器和客户端传送图片的部分.求大神指定! 服务器端: unsigned char recPhotoBuff[100]; unsigned char sendPhotoBuff[100]; char recPhotoPath[50]; char recPhotoName[20]; FILE *recPhotoFp; FILE *sendPhotoF

java的socket的client和server都用多线程,server和client都是java,怎么解决,急急!!

问题描述 java的socket的client和server都用多线程,server和client都是java,怎么解决,急急!! client请求server建立连接 线程1:保持连接,client随时接收server消息并向server返回消息 线程2:向server发请求并接收server返回的消息 解决方案 加我QQ1357197829发给你 解决方案二: Java网络编程之多线程Client-Serverjava 和 C++ Socket通信(java作为服务端server,C++作为

c# Client与server之间通讯

问题描述 我使用Remoting通讯,Client发送数据给Server,Server加入List,Client可以查询服务器某个Name对应的ID.Server将Client发送过来的TalkerClass寄存在内存中,便于Client查询.server与client之间不要使用共享内容.现在,我Client发送数据给服务器,控制台能显示发送的记录,但是Client查询Server上的Id不到结果.请帮忙解决?RemotingModelpublicclassTalker:MarshalByRe

Overlapped I/O 重叠I/O模型Client——》Server

/////////////////////////////////////////////////////// // OverlappedIO.cpp文件 #include <winsock2.h> #pragma comment(lib, "WS2_32") // 链接到WS2_32.lib class CInitSock { public: CInitSock(BYTE minorVer = 2, BYTE majorVer = 2) { // 初始化WS2_32.dl

Python Socket Client及Server简单编程

本文主要介绍使用Python语言编写Socket协议Server及Client的简单实现方法. 1. Python Socket编程简介 Socket通常也称作"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 三种流行的套接字类型是:stream,datagram和raw.stream和datagram套接字可以直接与TCP协议进行接口,而raw套接字则接口到IP协议. Python Socket模块提供了对低层BSD套接字样式网络的访问,使用

WSAAsyncSelect异步套接字模型Client——》Server

/////////////////////////////////////////////// // WSAAsyncSelect.cpp文件 #include <winsock2.h> #pragma comment(lib, "WS2_32") // 链接到WS2_32.lib #include <stdio.h> #define WM_SOCKET WM_USER + 101 // 自定义消息 class CInitSock { public: CInit

WSAEventSelect事件Select模型Client——》Server

////////////////////////////////////////////////// // WSAEventSelect文件 #include <winsock2.h> #pragma comment(lib, "WS2_32") class CInitSock { public: CInitSock(); ~CInitSock(); }; inline CInitSock::CInitSock() { // 初始化WS2_32.dll WSADATA ws