登录站点

用户名

密码

网络中同时传输多个不同类型的数据

已有 652 次阅读  2010-06-08 11:42   标签网络  类型  数据  传输 

一、把不同类型的数据都拷到内存。比如: 
在发送端: 
int   i=999; 
char   szBuf[1024]   =   {0}; 
char   *szInput   =   "just   like   this. "; 
memcpy(szBuf,   &i,   sizeof(int)); 
memcpy(szBuf   +   sizeof(int),   szInput,   strlen(szInput)); 
send(socket,   szBuf,   sizeof(int)   +   strlen(szInput),   0); 

在接收端: 
char   szBuf[1024]   =   {0}; 
char   szTmp[20]   =   {0} 
recv(socket,   szBuf,   sizeof(szBuf)); 
int   i; 
memcpy(szTmp,   szBuf,   sizeof(int)); 
i   =   (int)szTmp; 

其他的比如结构之类的任何数据都可以类似这样传送。 

 

二、传结构体

send()发送的是一段内存里的数据,至于数据是什么类型的没关系。明白了这一点,就知道该怎样发送结构了! 
  struct   EsDemp 
{ 
char   szDemo[256]; 
int   i; 
} 

EsDemo   demo; 
demo.i   =0; 
strcpy(demo.szDemo,   "hehe "); 

send(ssock,   (char*)&demo,   sizeof(EsDemo),   0); 

上一篇: 用skinmagic给VC6开发的软件换肤 下一篇: CRC校验

分享 举报