递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 3237|回复: 5
打印 上一主题 下一主题

[视窗] 远程服务支持类和火山基本类中的服务器有何区别?

[复制链接]

149

主题

941

帖子

3976

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3976
QQ
跳转到指定楼层
楼主
发表于 2023-9-11 02:13:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
远程服务支持库和火山基本类中的服务器有何区别?

本帖被以下淘专辑推荐:

全国江浙沪音视频通讯、视频会议互动
回复

使用道具 举报

346

主题

1600

帖子

6537

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6537
QQ
6#
发表于 2023-9-11 16:54:11 | 只看该作者
组包和拆包

hp好像没那么简单,应该是从底层开始封装的。

应用层简单的send、recv 函数,其实没那么复杂。
1、组包:最简单的方法就是   包头+长度+包体 或者直接 粗大暴力:长度+包体
例如:{31,5,0,0,0,1,2,3,4,5}=#   5    12345
不管被发送数据有多长,send 函数只是负责把这段数据拷贝到内核。
而内核会将这个数组自动分组发送,这个时候就是组的包是真的tcp报文。
2、拆包:最简单的方法就是 pull模型。即recv所有数据压入对应用户缓冲区。
(1)、当接收到{31,5,0,0,0,1,2,3,4,5,31,5,0,0,0,1}
   1/pull 缓冲区数据长度>5    (包头1字节,包长4字节;1+4=5)合法,下一步。非法,不处理
   2/判断包头=字节 31 合法,下一步。非法,断开。
   3/判断  pull缓冲区长度>=包长+5 ,合法,下一步。非法,不处理
   4/截取缓冲区 第一部分包体,并将pull缓冲区中 前部分包体移除。
   5/跳转到 1/    (因为单包可能存在N个独立包,这样会循环将pull模型中所有独立包全部处理掉,条件不满足的话,跳出,由recv函数继续填充数据。)


当然你还可以在把数据包加个密
专业承接18-98岁xx的心理及生理教育辅导。
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40529
5#
发表于 2023-9-11 15:47:00 | 只看该作者
shuimiao 发表于 2023-9-11 10:55
自己用基本的服务器类,能不能自行封装出类似hp的自组协议的通讯?

肯定可以啊,hp本身就是基于tcp自己包装的。

只不过很难而已。最起码也得知道通讯基本原理,如何处理线程冲突问题。如何高效组包和拆包。如何避免粘包。
安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

149

主题

941

帖子

3976

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3976
QQ
地板
 楼主| 发表于 2023-9-11 14:07:20 | 只看该作者
shuimiao 发表于 2023-9-11 10:55
自己用基本的服务器类,能不能自行封装出类似hp的自组协议的通讯?

估计很难,hp属于高度封装
全国江浙沪音视频通讯、视频会议互动
回复

使用道具 举报

410

主题

2511

帖子

8281

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
8281
板凳
发表于 2023-9-11 10:55:10 来自手机 | 只看该作者
创世魂 发表于 2023-9-11 08:14
服务器  属于最基础的tcp服务。

远程服务支持库 属于包装类 ,增加了一些特性,可以并发处理之类的。远程 ...

自己用基本的服务器类,能不能自行封装出类似hp的自组协议的通讯?
回复

使用道具 举报

444

主题

1万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
40529
沙发
发表于 2023-9-11 08:14:09 | 只看该作者
本帖最后由 创世魂 于 2023-9-11 08:15 编辑

服务器  属于最基础的tcp服务。

远程服务支持库 属于包装类 ,增加了一些特性,可以并发处理之类的。远程服务支持库只能和远程客户端通讯。

HP的通讯库也属于包装类,有自己的通讯协议,hp只能和hp 通讯。

安卓无障碍实战课:点击查看
交流群:641526939
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 07:58 , Processed in 0.083743 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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