找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 3475|回复: 6

求ACE编写的通信程序,要求是传一个数据结构……

[复制链接]
发表于 2008-11-18 19:20:55 | 显示全部楼层 |阅读模式
具体要求是客户端发一个数据结构,比如结构体给服务器,然后服务器接收并输出,本人刚开始接触ACE,但是这个应用又急需……
发表于 2008-11-18 21:31:57 | 显示全部楼层
不要用ACE写,如果你初学ACE,又着急的话。先完成任务第一。
发表于 2008-11-18 21:32:29 | 显示全部楼层
对于缺乏基础的兄弟,ACE的难度和学习曲线会超出你的想象。
发表于 2008-11-21 15:51:02 | 显示全部楼层
:D :D :D :D :D

[ 本帖最后由 marry 于 2008-11-21 17:05 编辑 ]
发表于 2008-11-22 23:48:56 | 显示全部楼层

这个应该使用CDR来解决了

也就是说你要对所谓整编,解编理解才行。非常好解决。参考第一册中的日志例子代码就能搞定。
发表于 2008-11-24 20:03:10 | 显示全部楼层
大家何必把网络编程非要和ACE强求的联合在一起呢?
所有的TCP/IP协议的网络编程思想都是一样的。
ACE只不过是把这些思想融合有序的组织在一起、共广大程序员使用,是我们无需在去做那么多重复的劳动而已。

至于网络编程的思想分为2大块。
1 关于UDP方面的编程
2 关于TCP方面的编程

比如在非常典型的VOIP协议 H.323中,TCP和UDP的编程应用就非常的经典。
一般来说UDP编程是相对简单,就是收包和发包,无需自己分割每一个包,但是必须负责重传。
而TCP则与UDP相反,不需要自己处理重传,但是需要自己分割每一个包,因为TCP是流,你可以把流想象为长江的流水。而不是一座座山峰。要把江河的水隔开你必须有水闸。这个水闸就是你程序中定义的规则用于分割数据流的。

多接触一些就知道这里面的奥妙的。其实等你懂了以后这些道理非常简单的。但是对于刚入门的网络编程者、这方面确实有点难理解。
关键的要点还是要充分的理解TCP/IP协议。
发表于 2008-11-25 17:11:05 | 显示全部楼层
别的地方看的,我就放到论坛上,以后好查阅
写函数如下:
ACE_Message_Block* mblk = new ACE_Message_Block(sizeof(Struct));
ACE_CDR::mb_align(mblk);
memcpy(mblk->wr_ptr(), struct_, sizeof(Struct));


读函数如下:
ACE_Message_Block* chunk=null;
Msg *struct_=new Struct;
memset(struct,0,sizeof(Struct));
memcpy(struct,chunk->rd_ptr(),sizeof(Struct));

其他类型按照此方法应该也可以
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-6-26 20:47 , Processed in 0.016689 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表