加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C如何通过套接字发送对象?

发布时间:2020-12-16 09:47:10 所属栏目:百科 来源:网络整理
导读:我有一个问题问你. 我有这门课: ` #define DIMBLOCK 128#ifndef _BLOCCO_#define _BLOCCO_class blocco{ public: int ID; char* data; blocco(int id);};#endifblocco::blocco(int id){ ID = id; data = new char[DIMBLOCK];} ` 并且该应用程序具有客户端和
我有一个问题问你.

我有这门课:

`

#define DIMBLOCK 128
#ifndef _BLOCCO_
#define _BLOCCO_

class blocco
{
    public:
        int ID;
        char* data;


        blocco(int id);
};

#endif




blocco::blocco(int id)
{
    ID = id;
    data = new char[DIMBLOCK];
}

`

并且该应用程序具有客户端和服务器.
在我的服务器的主要部分中,我以这种方式实例化此类的对象:
blocco a(1);

之后,我使用套接字打开客户端和服务器之间的连接.
问题是:如何将此对象从服务器发送到客户端或反之?
请问你能帮帮我吗?

解决方法

从字面意义上讲,不可能通过TCP连接发送对象.套接字只知道如何传输和接收字节流.所以你可以做的是在TCP连接上发送一系列字节,格式化方式使得接收程序知道如何解释它们并创建一个与发送程序想要发送的对象相同的对象.

该过程称为序列化(并在接收端进行反序列化).序列化不是内置于C语言本身,因此您需要一些代码来完成它.它可以手动完成,也可以使用XML,或通过Google的协议缓冲区完成,或者通过将对象转换为人类可读文本并发送文本或任何其他方式.

看看here了解更多信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读