当前位置:  技术问答>linux和unix

socket memcpy的使用

    来源: 互联网  发布时间:2016-12-29

    本文导语:  short int a  2字节 short int b  2字节 int c        4字节 int d        4字节 char e[];    假设10字节 合一后数据长度为22字节 我想将以上5个数据合为一个二进制数据,然后通过socket的send()发出。发出时的长...

short int a  2字节
short int b  2字节
int c        4字节
int d        4字节
char e[];    假设10字节


合一后数据长度为22字节

我想将以上5个数据合为一个二进制数据,然后通过socket的send()发出。发出时的长度应该为22.请问应该怎么使用memcpy呢。或者有没有其他更好的方法将这些数据发出呢?新手,刚学socket编程,对此很迷惑。

|
char buff[1024];
*(short*) buff = a;
*(short*) (buff + 2) = b;
*(int*) (buff + 2 + 2) = c;
*(int*) (buff + 2 + 2 + 4) = d;
memcpy(buff + 2 + 2 + 4 + 4, e, 10);

send(buff,22)
可能还要考虑一个字节顺序,但你现在阶段不需要。

|
典型的协议数据传送。

LS的已经给出答案了。使用结构体将单个数据"打包"。解析的时候使用同样的结构体解析。

|
那些数据是在结构体中定义吗?
如果是,定义该结构体变量,赋值,直接将其用send发送出去。由于是22字节,可以指定发送、接收字节数为22。

个人意见。

    
 
 

您可能感兴趣的文章:

  • php使用socket_bind()函数绑定IP地址
  • 怎样解决"Cannot set Socket Options for Trasnmit Socket" error 当使用setsockopt() 在solaris 5.8
  • 请教:多线程使用同一个socket进行数据收发会出现什么问题?
  • socket编程,使用recvfrom()函数监听问题。
  • 如何使用另外进程的socket
  • linux无线网络传输也可以直接使用socket接口编程吗?
  • Linux下的Socket通信如何断开连接的端口从而实现重复使用该端口
  • linux下面如何查询某个进程正在使用的socket句柄数量
  • 请问可以在一个Servlet里使用多线程和SOCKET吗?
  • 怎样使用socket方式取得web服务器上的页面
  • linux 下使用socket, link时候一堆undefined reference
  • 如何在redhat e4下用gcc编译socket程序,(-lsocket无法使用啊)!急,在线等
  • 在python中的socket模块使用代理实例
  • linux socket的使用问题,请教
  • socket通讯使用select的问题
  • 博客 iis7站长之家
  • 非阻塞socket该如何使用。。。
  • Linux下使用openssl api编程socket编程,为什么要编译啊?
  • 为什么socket程序使用gdb调试执行就接受不到数据了呢?
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  • socket的使用,请各位过来看看啊。。。相信有人会知道的吧。:(
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: gettrafficclass定义及介绍
  • socket编程 通过man socket, 没有找到socket函数的第一参数该填什么 怎样利用man手册
  • java命名空间java.net类socket的类成员方法: getport定义及介绍
  • 线程间可否通过管道传递SOCKET句柄?还有其他方式传递SOCKET么?
  • java命名空间java.net类socket的类成员方法: getlocalport定义及介绍
  • [FreeBSD] 大神,求解,control socket : can‘t to any socket
  • java命名空间java.net类socket的类成员方法: getinetaddress定义及介绍
  • 两个 Socket 互相通信,其中一个如何判断另一个 Socket 是否已经意外断开了连接?
  • java命名空间java.net类socket的类成员方法: isconnected定义及介绍
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3