将网络中的消息写入文件

Greg_han 2009-09-18 02:48:39
老板叫我写一个程序,Unix服务器获得的消息(也就是传输的数据)写入一个2进制文件,已经实现了一些类。就是不明白什么是消息?我认为是字符串、整数.... 并且重载了这个写函数,如下:

template <class T>
void writeMessage(const T *a,int length)
{
......

}

老板说不对,要什么流之类的东东,我就是不懂了,请大家给些指点,先谢谢了
...全文
101 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
独孤过儿 2009-09-19
  • 打赏
  • 举报
回复
消息的本质就是一串二进制的bit流

你需要根据协议来解析这串码流,提取出需要的信息,然后保存到结构体里面去,再将这个结构体写到文件中

需要注意的一点:网络上传输的字节序都是大端的,而通常PC里面都是小端的,所以可能需要自己手动的转换一下
cattycat 2009-09-19
  • 打赏
  • 举报
回复
他说的那个流可能是操作文件的吧,消息你可以理解为网络数据,这个类定义一个数据缓冲,当网络数据到达后,创建对象,成员函数有流操作文件I/O。不知道是不是这样。
老邓 2009-09-19
  • 打赏
  • 举报
回复
流?用fstream不就是吗?
FILWFQFE 2009-09-19
  • 打赏
  • 举报
回复
直接输出到文件中不行?
thy38 2009-09-19
  • 打赏
  • 举报
回复
把问题阐述得更清楚点嘛
Greg_han 2009-09-19
  • 打赏
  • 举报
回复
顶顶
sunnywyg 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 thy38 的回复:]
老板的意思是不是消息写到流中,再用流输出到文件?
[/Quote]

那何必呢,而且流效率也低好多,主要问题在消息..
Greg_han 2009-09-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 thy38 的回复:]
老板的意思是不是消息写到流中,再用流输出到文件?
[/Quote]

是啊,请问消息是什么类型的数据,int、 char ?
如何定义消息这个类?
thy38 2009-09-18
  • 打赏
  • 举报
回复
老板的意思是不是消息写到流中,再用流输出到文件?
Greg_han 2009-09-18
  • 打赏
  • 举报
回复
先谢谢 hairetz
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 greg_han 的回复:]
老板叫我定义一个 消息类 ,如何定义呢?要找那些资料呢?
[/Quote]

就是写socket读取数据存到内存,然后写入文件啊。

http://linux.sheup.com/linux/linux5607.htm

这有基本的socket例子,你可以看下
Greg_han 2009-09-18
  • 打赏
  • 举报
回复
老板叫我定义一个 消息类 ,如何定义呢?要找那些资料呢?

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧