社区
新手乐园
帖子详情
C++ 用TCP发送数据流
wadegordon
2012-11-17 02:33:45
C++ 怎样把几个string字符串和int类型的数据按顺序加入一个流中,然后用tcp把这个流发送到指定IP端口的目标机器上,并读取返回数据流???
高手们请给个例子
想说让我去网上搜的就不用回答了!!
...全文
519
3
打赏
收藏
C++ 用TCP发送数据流
C++ 怎样把几个string字符串和int类型的数据按顺序加入一个流中,然后用tcp把这个流发送到指定IP端口的目标机器上,并读取返回数据流??? 高手们请给个例子 想说让我去网上搜的就不用回答了!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
firendlys
2012-11-17
打赏
举报
回复
1. 新建一个超大的 char *p 数组...大到足够容纳你所需要的数据为止 2. 将每一个string的内容放到这个 p数组里面. 比如: 如果是 std::string , 就 strcpy(p,str.c_str()); 如果是 std::wstring ,就 memcpy(p,str.c_str(),str.size()*2) 或者先转化为 std::string ,再按std::string处理... 如果是 char* 的字符串,就直接strcpy, 如果是 wchar_t*的字符串,按 std::wstring 处理. 如果是其他,如 CString , 分 UNICODE 和 非UNICODE ,按上面说的处理. 解码的时候很简单,就直接定义一个 std::string str; 然后 str= p;//假设是接收到的数据. 然后str就是第一个字符串. 接着p的指针增加str的长度个单位,即 p+=str.size(); 接着继续解释第二个字符串. 当然,对于 UNICODE 版本的字符串解释,则复杂一些... 另外,上面提及的是不考虑字节顺序的. 如果是需要考虑字节顺序的,请参考下面的 int 处理方式. 3. 将 int 整数放到 p 里面. 如果不需要考虑字节顺序(即:假设通信双方都是windows系统),可以直接认为是char*处理. 如: int i=10; memcpy(p,&i,sizeof(i)); 即可. 如果是需要考虑直接顺序,则需要对这个int进行一定的编码,保证对方可以还原出这个数字出来. 最简单的就是按字节处理. 如: int i=10; p[0] = (char)((i >>24)&0xff);//提取i的最高8位 p[1] = (char)((i >>16)&0xff); p[2] = (char)((i >>8)&0xff); p[3] = (char)((i >>0)&0xff);//提取i的最低8位 然后对方解码的时候也按照这个规则解码即可. --------------- 反正这个东西,说复杂其实不太复杂,说简单也不算简单. 关键是制定一种规则,使接收的一方可以还原出数据即可.至于这种规则是什么,由你自己决定,没什么标准. 这个就叫通信协议. 如果你只是说纯粹要发送出去,不管对方能不能识别,那没有意义. ---------------- 另外,我记得网上应该有一些已经封装好的类,不过我记不起叫什么名字了,你可以自己找一下.
转角天边
2012-11-17
打赏
举报
回复
引用 1 楼 wadegordon 的回复:
怎么没人理啊 ?? 各位花几分钟帮帮忙啊 谢谢了!!!
定义一个结构体,比如 typedef struct LoginSys { int ServerType; char UseName[100]; }LOGINSYS; 然后在程序中定义一个结构体变量 LOGINSYS login; 把值赋给这个结构体变量,再定义一个数组,把结构体变量login的值赋给这个数组 char SendBuf[255]={0}; memcpy(SendBuf,&login,sizeof(login)); 发送的时候,发送这个数组就可以了
wadegordon
2012-11-17
打赏
举报
回复
怎么没人理啊 ?? 各位花几分钟帮帮忙啊 谢谢了!!!
C++
-
tcp
server端.zip_
C++
_
Tcp
Server_electricv54_socket_woolk2s
tcp
服务端,可设置回调函数 处理网络
数据流
c++
boost asio网络库 异步
tcp
方式文件传输 速度在10M左右.zip
c++
boost asio网络库 异步
tcp
方式传文件 速度在10M左右.zip
C++
语言基础视频教程
本教程详细介绍
C++
语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人...
C++
实现的服务器post访问并实现JSON
数据流
解析
本代码借鉴了网上其他大神用
C++
实现的post方法,自己经过修改并添加了对接收的json
数据流
进行了解析的功能
rtsp
tcp
获取h264裸码流
通过rtsp
tcp
连接直接解析协议,获取IPC的h264的裸码流数据,简单的代码,主要测试了海康的IPC,无丢帧,延迟现象。有什么问题不足,还请多多
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章