[经验总结]--关于socket通信传输非char型数组的解决方法
2015-08-31 11:05
369 查看
软件平台:win7 & VC6++
初学网络编程,经验也非常有限,项目要求我传输一个很大的bits流封装好的数据包,然而,我们用tcp协议的时候,其传输函数send函数的第二个参数是要一个char* 指针。那么怎么传输 int* 或者 double*的数组怎么传过去呢。
其实很简单,send函数在传数据的时候,的确是一个字节一个字节的传输。那么我们把int*强制转换,或者double*强制转换,不就行了。我下面敲一个简单的例子。
发送端
接收端
就这么一改,是不是可以发送任何类型的数据呢。当然,也可以去考虑用类型转换函数,比如 itoa 和atoi。
初学网络编程,经验也非常有限,项目要求我传输一个很大的bits流封装好的数据包,然而,我们用tcp协议的时候,其传输函数send函数的第二个参数是要一个char* 指针。那么怎么传输 int* 或者 double*的数组怎么传过去呢。
其实很简单,send函数在传数据的时候,的确是一个字节一个字节的传输。那么我们把int*强制转换,或者double*强制转换,不就行了。我下面敲一个简单的例子。
发送端
double msg[128]; //存放你要发送的数据 char* pMsg = (char*)&msg[0]; send(sockconn,pMsg,sizeof(double)*128,0);
接收端
double recvMsg[128]; memset(recvMsg,0,sizeof(recvMsg)); char *pRecvMsg = (char*)&recvMsg[0]; recv(sockClient,pRecvMsg,sizeof(double)*128,0);
就这么一改,是不是可以发送任何类型的数据呢。当然,也可以去考虑用类型转换函数,比如 itoa 和atoi。
相关文章推荐
- HP-UNIX安装Oracle PHCO-40381
- jquery实现菜单栏选择效果
- 数据结构 时间复杂度 空间复杂度 一看就懂版本
- 基础
- 常用的正则表达式
- wireshark-实时抓取移动设备上的通信包(Wireshark+nc+tcpdump)
- PhpStorm 常用设置和快捷键总结,持续更新~
- 约瑟夫问题 java代码
- JAVA对DataSet的操作大集合
- [LeetCode] 35 - Search Insert Position
- android 学习笔记 解析json格式的数据 JSONObject 和GSON解析json格式数据
- spring 如何取的IOC容器得到里面的对象进行操作
- Activity的启动模式以及onNewIntent(Intent 4000 intent)
- WMV播放代码的各项参数取值介绍
- 程序员能用一年的git技能整理
- 51nod 1346:递归
- Google play 提交app
- elipse如何退出调试模式
- 软件测试用例的编写技巧
- 从XML导入到excel的基本框架