说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

请高手指教如何在WinSocket.SendData中发送自定义的结构体数据???!!!

编辑:说三道四文库 发布时间:2017-02-19 10:52
HTML文档下载 WORD文档下载 PDF文档下载
如:typedef struct _man
{
char Sex[2];
int age;
}man;
怎样才能用WinSock控件将该结构体数据发送出去,客户端又如何能成功接收和解析呢?
必须假设客户端知道您发送的是
man而不是其他数据。
to  iicup;
客户端当然知道要接收的数据类型。
就按一般数据发送就可以

大致如下:

// 发送
man M;
M.Sex[0] = 'M';
M.Sex[1] = '\0';
M.age = 18;

send(&M,sizeof(M));

// 接收
man M;
recv(&M,sizeof(M));
和楼上一样。直接就可以发。接受的时候也要用相同格式接受,就可以直接得到结构体中相应位置的数据。
在客户和服务两端定义相同的数据结构,然后就可以直接发送和相应的接收了
可以把struct转换为char*,然后发送,接收后,相应的提取对应的数据
楼上的思路可行。
本来有代码来着 现在没了。
to: iicup(双杯献酒) 
各位:WinSock控件的发送函数可是SendData啊。函数定义如下:
void CMSWinsockControl::SendData(const VARIANT& data)
不知道如何用该函数传送和接收自定义的结构体数据?
混分
SendData((PBYTE)&st,sizeof(st));
const VARIANT& data?
data.vt=VT_UI1|VT_BYREF;
data.byref=PBYTE(&st);
typedef struct _PACKET
{
int          nCode;
char         *pszName;
char         age[10];
}PACKET , *LPPACKET;



PACKET p;
p.nCode = 5;
strcpy(p.age, "test");
p.pszName = "gdy119";


send(s, (char*)&p, sizeof(p), 0);


-------------------------------------

PACKET p;
ZeroMemory(&p, sizeof(p));
recv(ss, (char*)&p, sizeof(p), 0);
AfxMessageBox(p.age);
AfxMessageBox(p.pszName);


一切正常
VB实现按钮浮动效果 VB应用程序中的工具提示和状态显示 VB中处理长列表框项的两种方法 VB中多级下拉列表的实现 VB中防止将重复项目添加到列表框控件中 VB中实现菜单分割 VB中实现带预览的对话框 VB中实现同一窗口的多个实例及控件的动态增减 VB中阴影字体的实现 VB自定义数据结构的传输转换 Visual Basic 窗体背景花纹的实现 Visual Basic 中的界面设计原则和编程技巧 Visual Basic 中文本框处理技巧集萃 Visual Basic 中字符淡出淡入的实现 Visual Basic窗体背景花纹的实现 Visual Basic下工具条的制作 Visual Basic中的界面设计原则和编程技巧 Visual Basic中在同一界面输入大量数据的几种方法 VisualBasic中的界面设计原则和编程技巧 VisualBasic中用户界面的设计原则 把 VB 标准的工具栏变成平面式 把窗体卸载干净-VB资料 保持初始的窗体大小-VB资料 编程实现将所有窗口最小化-VB资料 不规则形状窗口详细说明 -VB资料 不用 API ,直接调用关联的程序 -VB资料 处理过程时的鼠标显示 -VB资料 窗口处理技巧大全 -VB资料 窗口事件的发生顺序-VB资料 VB创建不规则窗口 VB创建透明窗体 Cannot open "Javac.exe"--菜鸟问题 请问怎么样实现Date的加减呢?? 怎样得到下一天的日期 前段时间出差,最近有忙着考研,没时间上网,散分 确认页面问题。 AfxMessageBox话框标题问题 不是我重复,只是这个问题让我发疯,旦求解决这个问题,死而无怨 smtp认证发信的源代码 在DLL中如何知道自己父进程(ParentProcess)的路径和文件名? cview里的precreatewindow和cframewnd的precreatewindow应该调用那个? 如何在dw4中给已做好的FLASH动画加上超链接? 关于Jmail组件的问题! 袁飞请进! redhat linux下jbuilder安装问题!!!帮帮忙!! 怎样得到一天的起始时间,例如:今天是2001-11-1,则我希望得到:2001-11-1 00:00:00 求教CEditView 华硕P2B主板怎么装联想商博士6xxx的内猫,猫是好的,可插上后怎么也找不着,怎么办? CSDN的服务器太差劲了!老是结不了分的! 有没有第二种方法加入2000的域呢?(详见正文) 时钟的实现初始化问题?? 我今天买了一本,这本书如何? 那儿有perl for win32的开发资料下载的! 我想知道鼠标在COMBOBOX上移动时所处的选项,在LISTBOX上可以实现,在COMBOBOX上如何实现,它没有MOUSEMOVE事件。 请问怎样自动捕捉网格啊? 定义以下变量,并以赋确定的值:char w;int x;float y;double z;则表达式:w*x+z-y所求的值的数据类型是什么 为什么我的treeview 值都成了双份的呢??? 哪人在线观看的源代码?比如:CIH,I LOVE YOU 怎样自动捕捉网格啊? 本人就快作毕业设计了,想作个vc项目,大家给我点意见吧! 怎么把CByteArray型数组转换成char*型. 关于纯资源DLL的问题! 超难问题:如何将一个EXE转换成SWF? 关于PHP程序员工资待遇问题的讨论! 网页中嵌入ActiveX控件,遇到的问题。 问个比较简单的问题:关于ASP上传的 送分啦~~~~~~~用什么方法可以获得鼠标的移动到那里的句柄(包括窗体和环境),就向SPY++里面的findwindows一样的功能 关于vb数据库的问题,请教了!!!!! 1982.12.12,2001.12.12是19岁生日还是20岁生日? 寻找调查投票程序,66分 在printf格式字符串中,用于输出字符串的格式字符是什么? 哪里有这样的jsp程序 轻松一分钟,统计一下看流星雨的程序员们是单身还是成双成对? c语言程序的基本单位是什么? 是什么原因产生stop:0x0000001e故障的,有办法解决吗 如何虚拟键盘输入?急!!! 请问怎样才能将用户选择的行或列在打印预览窗口中? 如何获得所运行的进程列表 设i,j,k均为int形变量,执行下列语句:for(i=0,j=10;j<=j;i++,j--)k=i+j;则k的值是多少? 怎样把kv3000解密到一张软盘????? 是高手的进来赚点分(全给) delphi中如何定义过程与函数,请帮我各写一行带参数与不带参数的例子, 4-1÷4-4分之1等于多少? 盐水中有1g食盐和100g水十盐占盐水的几分之几 已知sin求cos怎么求如题 4÷4分之1+4分之1×4等于 4.06等于多少克 Sin15度=cos多少度 ()米增加4分之1等于4米 cos平方35度+cos平方55度+cos15度cos75度= 甲圆的面积是乙圆的3分之1,甲乙两圆的周长比是多少 由碳酸氢铵和碳酸铵组成的白色固体混合物.称取溶于水配成1L溶液然后向溶液中加入足量氢氧化钠并加热.收集到气体22.4L (标况) 在往溶液中加过量盐酸, 又收集到气体13.44L 求此混合物中 cos75的平方+cos15的平方+cos75乘sin15的值 若甲圆的周长是乙圆半径的三分之一,大圆的面积是763.02平方厘米,小圆的面积是多少平方厘米? 碳酸氢铵溶液中加入过量的氢氧化钠溶液方程式 如果解cos平方75+cos平方15+cos75*cos15 sin15° 一条长90m的排水沟,5天挖完,平均每天挖这条排沟的几分之几?平均每天挖多少米?请烈算式 一个圆的周长缩小为原来的2分之1,它的直径和半径也缩小为原来的几分之几 sin15度cos165度的值是? 一条90米得排水沟,计划5天挖完,平均每天挖着这条沟的几分之几平均每天挖多少米 把一个直径是30厘米的圆缩小到原来的3分之1缩小后圆的周长是多少厘米,接着把缩小后的圆扩大到原来的2倍扩大后周长是多少厘米 求sin15°+cos165°的值 一个半径是4分米的圆,如果半径减少2分米,它的周长减少( )分米. 圆的直径缩小到原来的1/10,圆的周长也缩小到原来的1/10是判断题,对得打√,错的打× sin15°*cos165°= 求解答 一个圆,半径增加2分米,周长增加多少 12000等于多少公顷 有一批糖果,每袋装二分之有一千克,装4袋后,才装完这批糖果的五分之四,问这批糖果共有多少千克 四除二加三等于几? 12000立方米等于多少公顷 现在有相同只数的大袋和小袋装248千克的苹果已知每只小袋装1千克每只大袋装苹果的重量比小袋的2倍多1千克它们各有几袋 sin75度*cos75度 求求求~ 12000平方米=多少公顷? 为什么9^9/9^99=1/9^90它是如何约分的?约分的原理是什么? sin75度乘以cos75度的值是多少? 5g 盐放入20g 水中,盐占盐水的(). 一个圆的周长是75.36厘米,这个圆的面积是( )平方厘米? 一个圆的半径是1分米,它的周长是( ),面积是( ). 把5g食盐倒入20g水中,这份盐水的含盐率是25%. 一堆马铃薯6025千克,已经装了40袋,每袋装85千克,剩下的平均每袋装87千克,还要装多少袋? 2π-3π/4等于多少 12000平方米等于多少公顷 一千克的蛋糕白砂糖要0.25千克,一千克的蛋糕鸡蛋要0.4千克, 圆的周长扩大3倍它的面积扩大几倍? 是实验室需要0.1mol每升的氢氧化钠溶液100mL,现有2MOL每升氢氧化钠溶液. 计算所需2M是实验室需要0.1mol每升的氢氧化钠溶液100mL,现有2MOL每升氢氧化钠溶液.计算所需2MOL每升氢氧化钠的体积.(2) 一个鸡蛋多少千克,又是多少克,多少个几鸡蛋一千克谢谢了, 如果一个圆的周长扩大三倍,那么这个圆的面积就是扩大( )急 计算:cos15°sin15°=? 用分部积分法, 15g盐放入100g水中,盐占盐水的几分之几?盐是水的进分之几 包装工人一共要帮装240千克水果糖,每袋包装四分之一,已经装完了四分之三,已经装完了多少袋 我是一名高中生,每天为了方便,在铁饭盒里放保鲜袋,就是那种透明的,仔细看还有许多小孔的,然后去打热饭菜,知道塑料受热分解会释放致癌物质,长期这样做好吗? 4√2×√6等于多少还有一道:2√3×2√2等于多少, 一共有240千克水果糖,每袋装四分之一千克,才装完了总量的四分之三,已经装完了多少袋? 一共有240千克水果糖,每袋装4分之1千克,4位工人用了3小时装了4分之3,他们已经装完了多少袋? 一条长90米的排水沟,5天挖完,平均每天挖这条排水沟的几分之几?平均每天挖几米?1 两个圆的面积相等,这两个圆的周长也一定相等吗 一共有280千克的水果糖,每袋装四分之一千克,已经装完了这些糖果的四分之三,已经装完了几袋 一个长90m排水沟,5天挖完,平均每天排水沟的几分之几?平均每天挖多少米? 实验室欲配置0.5mol/L的Naoh溶液500ml,用哪些仪器. 一共有240千克水果糖,每袋装四分之一千克.可以装多少袋?如果只装了四分之三,你知道装完了多少袋吗?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn