请问CArchive/CSocketFile的方法和CSocket.Send()的方法在底层的报文是一样的吗?

claider 2017-05-30 01:44:24
现有其他的socket程序作为服务器端给定IP地址和端口,我使用简单的CSocket.Send()函数发送一定格式的文本到该端口,服务器程序能收到文本,但是如果我用CArchive/CSocketFile的方法发送报文,服务器没有收到报文。
请问CArchive/CSocketFile的方法和CSocket.Send()的方法在底层的报文是一样的吗?在服务器端和客户端分别使用这两种方法编写的socket程序能够互相正确收到纯文本的报文吗?
...全文
368 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kakabulusi 2017-06-08
  • 打赏
  • 举报
回复
CArchive发送的应该是串行化二进制, socket传输的是二进制比特流, 协议是不同的, 简单类比一下:你和我都懂汉语【汉语就是你我通讯的‘协议’】,我说“你好”,你收到“你好”之后肯定明白我说的意思。 你懂汉语我懂英语【没有互通协议】,我说“hello”,你收到的是“hello”,怎么会知道我说的是什么意思呢? socket通讯里面最常说的一句话:怎么发就怎么收,就是指在相同协议的支持下进行的通讯
claider 2017-06-03
  • 打赏
  • 举报
回复
引用 1 楼 CharlesSimonyi 的回复:
客户端用CArchive发送,则服务端也要用CArchive接收,才能正确接收,
请教,是不是CArchive估计设计成加密的?还是机理相对复杂?
encoderlee 2017-06-03
  • 打赏
  • 举报
回复
没有加密,只是CArchive有它的格式,所以要求发送方和接收方都用CArchive才能正确解析
赵4老师 2017-05-31
  • 打赏
  • 举报
回复
不知道有多少前人掉在TCP Socket send(人多)send(病少)send(财富) recv(人多病)recv(少财富) 陷阱里面啊! http://bbs.csdn.net/topics/380167545
encoderlee 2017-05-31
  • 打赏
  • 举报
回复
客户端用CArchive发送,则服务端也要用CArchive接收,才能正确接收,

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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