
分布式
文章平均质量分 86
XLYcmy
这个作者很懒,什么都没留下…
展开
-
分布式Server:IDL_ssgrade
/if(name!ID = NULL;if(ID1!ID1 = NULL;if(ID2!ID2 = NULL;原创 2025-01-18 08:15:00 · 676 阅读 · 0 评论 -
分布式Server:Server
* IDL_TypeSupport.h中包含所有依赖的头文件 *//* UserDataTypeListener继承于DataReaderListener,需要重写其继承过来的方法on_data_available(),在其中进行数据监听读取操作 */public:/* 重写继承过来的方法on_data_available(),在其中进行数据监听读取操作 */int i;原创 2025-01-18 08:00:00 · 795 阅读 · 0 评论 -
分布式Server:IDL_DataWriter
if (!return ret;if (!return ret;这段代码展示了两个类和的实现,它们都继承自一个基类DataWriter。这两个类分别用于写入特定类型的数据(成绩和平均成绩)到某个数据接收端。原创 2025-01-17 08:15:00 · 806 阅读 · 0 评论 -
分布式Server:IDL_DataReader
if (!i++)i++)这段代码是关于数据读取的,特别是在数据分发服务(DDS,Data Distribution Service)或类似中间件环境下使用的。和。原创 2025-01-17 08:00:00 · 928 阅读 · 0 评论 -
分布式Client:client
* IDL_TypeSupport.h中包含所有依赖的头文件 *//* UserDataTypeListener继承于DataReaderListener,需要重写其继承过来的方法on_data_available(),在其中进行数据监听读取操作 */public:/* 重写继承过来的方法on_data_available(),在其中进行数据监听读取操作 */int i;原创 2025-01-16 08:15:00 · 1109 阅读 · 0 评论 -
分布式Client:IDL_ssgrade
/if(name!ID = NULL;if(ID1!ID1 = NULL;if(ID2!ID2 = NULL;原创 2025-01-16 08:00:00 · 968 阅读 · 0 评论 -
分布式Client:IDL_DataWriter
if (!return ret;if (!return ret;这段代码展示了两个类和的实现,它们都继承自一个基类DataWriter。这两个类分别用于写入成绩数据和平均成绩数据。原创 2025-01-15 08:15:00 · 821 阅读 · 0 评论 -
分布式Client:IDL_DataReader
【代码】分布式Client:IDL_DataReader。原创 2025-01-15 08:00:00 · 1022 阅读 · 0 评论 -
分布式avergrade:IDL_tpc_AvgGrade
【代码】分布式avergrade:IDL_tpc_AvgGrade。原创 2025-01-14 08:00:00 · 1045 阅读 · 0 评论 -
分布式avergrade:IDL_DataWriter
if (!return ret;这段代码定义了一个名为的类,它继承自一个名为DataWriter的基类。这个类是为了在某种中间件或分布式计算框架中写入平均成绩数据而设计的。原创 2025-01-14 08:15:00 · 949 阅读 · 0 评论 -
分布式avergrade:IDL_DataReader
类型安全性narrow方法没有进行类型检查,这可能会导致未定义行为。内存管理:代码中对内存的管理似乎有些随意,特别是关于CDRData和原始数据指针的所有权和处理。这可能导致内存泄漏或双重释放。错误处理:代码中没有对可能的错误情况(如CDR构造失败)进行处理。代码重复takeread和方法中有重复的代码逻辑,可以考虑重构以减少重复。为了改进这段代码,建议添加类型检查、改进内存管理、添加错误处理逻辑,并考虑重构以减少代码重复。此外,还需要确保CDR。原创 2025-01-13 08:15:00 · 988 阅读 · 0 评论 -
分布式grade:IDL_tpc_Grade
/if(name!ID = NULL;这段代码是关于一个名为Grade的类的实现,它是为了在某种分布式计算环境中传输学生成绩信息而设计的。name(学生姓名),ID(学生ID),和score(成绩)。此外,它还实现了拷贝构造函数、赋值操作符重载、以及序列化和反序列化方法(Marshal和UnMarshal。原创 2025-01-13 08:00:00 · 781 阅读 · 0 评论 -
分布式grade:IDL_DataWriter
if (!return ret;这段代码实现了一个名为的类,它继承自一个DataWriter基类(这个基类很可能是DDS(Data Distribution Service)中间件的一部分)。类专门用于写入Grade类型的数据。原创 2025-01-12 08:15:00 · 701 阅读 · 0 评论 -
分布式grade:IDL_DataReader
if (!i++)i++)这段代码是一个使用Data Distribution Service (DDS) 的C++实现,特别是针对一个名为的类,这个类用于读取特定类型的数据——在这个例子中,是“成绩”数据。DDS是一种中间件技术,用于实时数据分发,广泛应用于需要高性能和低延迟的数据通信场景,如汽车、航空航天、军事等领域。原创 2025-01-12 08:00:00 · 1070 阅读 · 0 评论 -
分布式作业3:使用uDDS之服务器端
domainId, PARTICIPANT_QOS_DEFAULT/* participant默认QoS */,*****************订阅端程序subscriber.cpp*******************//发送至域domain_id。topic2, DATAWRITER_QOS_DEFAULT/* 默认QoS */,type_name1, TOPIC_QOS_DEFAULT/* 默认QoS */,type_name2, TOPIC_QOS_DEFAULT/* 默认QoS */,原创 2025-01-01 08:15:00 · 736 阅读 · 0 评论 -
分布式作业3:使用uDDS之客户端
domainId, PARTICIPANT_QOS_DEFAULT/* participant默认QoS */,type_name1 /* 类型名 */, TOPIC_QOS_DEFAULT/* 默认QoS */,type_name2 /* 类型名 */, TOPIC_QOS_DEFAULT/* 默认QoS */,*****************发布端程序publisher.cpp********************topic1, DATAWRITER_QOS_DEFAULT/* 默认QoS */,原创 2025-01-01 08:00:00 · 554 阅读 · 0 评论 -
分布式练手:Server
3. 当有客户端连接后,进入一个无限循环,期间不断接收客户端发送的消息,然后将用户输入的内容发送回去。`int main()`函数初始化套接字、创建服务器套接字,并开始监听客户端连接。2. `CreateServerSocket()` 和 `accept()` 分别负责创建服务器端套接字和等待客户端连接。5. 循环结束后,关闭所有套接字资源(close_Socket()),暂停程序(system("pause"))等待用户按键,最后返回0表示正常退出。//1 创建空的Socket。//给客户端发送消息。原创 2024-12-30 08:15:00 · 755 阅读 · 0 评论 -
分布式练手:Client
6. 连接结束后,调用`closesocket(fd)`关闭套接字,然后`close_Socket()`关闭整个Winsock库,最后系统暂停进程等待用户按键。1. `init_Socket()` 函数用于初始化Windows异步套接字API(Winsock),如果初始化失败,会返回false并打印错误信息。2. `CreateClientSocket()` 创建一个新的socket连接到指定的IP地址(这里是127.0.0.1),表示本地回环测试。//1 创建空的Socket。原创 2024-12-30 08:00:00 · 800 阅读 · 0 评论 -
分布式实验三
前面的步骤基本上和帮助文档是类似的,当把整个的程序构建好后,在server.cpp和client.cpp上之构造一个participant,但是主题要构建两个,recode也创建了两个。为了实现双向通信,在两端都建立了一个publisher和subscriber,一个用来写,另外一个用来读。参考给出的范例,构建了自己的程序。在传输数据的时候,不知道为什么一直会传输四个数据,在询问了助教学长,并上网查阅资料之后,将其余三个网卡都禁用调,传输就正常了。在请教了助教学长之后,把显式调用去掉,就可以正常运行了。原创 2024-12-05 08:15:00 · 681 阅读 · 0 评论 -
拜占庭将军问题
正由于上述原因,在只有三个节点的系统中,只要有一个是Byzantine故障节点,即Byzantine故障节点数量所占比例等于或大于1/3,Byzantine问题便不可解。此时A是Byzantine故障节点,A会发送给B“进攻”的消息,发送给C“逃跑”的消息。当C发送给B,C收到的是“逃跑”的消息时,B由于收到了A发送的“进攻”的消息,从而无法与C保持一致。不失一般性,我们假设B是Byzantine故障节点,B可能发送给C,它收到的是“逃跑”的消息。不失一般性,我们以A节点此时发送消息举例。原创 2024-12-04 08:00:00 · 407 阅读 · 0 评论 -
分布式第四次作业
一致割是指处理器可以并发保留的状态,在一个分布式系统中,基本上没有可以记录系统状态瞬时快照的观察者。可是,这样一种能力在解决譬如系统崩溃后的恢复、检测系统中是否存在死锁及检测计算是否已经终止时是需要的。分布式系统里的一个割是一个n元的向量。使得处理器Pi的状态是指第ik个事件之后的状态。对于任意的i和j,如果Pi上第Ki+1个计算事件不在Pj上第Kj个事件之前发生,那么这个向量就是一致的,称为一致割。第二个性质时通过在所发送的消息中携带向量来维护的。必须接收的消息数,该消息数目至少是在发送消息。原创 2024-12-03 08:00:00 · 442 阅读 · 0 评论 -
分布式第二次实验
Client通过socket向Server传输姓名(字符串)、学号(字符串)和分数(浮点型),Server收到三个不同学生(以学号区分)的成绩后,计算平均分,并向Client返回平均分及这三个学生的学号,Client收到与自身有关的平均分(包含了本进程传输过去的学生成绩)后,打印该平均分及相应的三个学生的姓名和学号。我们发现是有乱码的,这是不太理想的情况,刘同学认为这是因为接受的函数问题导致的,经过修改,最终结果良好。采用send和recv函数,就可以完成题目的大部分要求。详细代码请参考附件。原创 2024-12-02 08:00:00 · 1021 阅读 · 0 评论 -
分布式实验一
在Linux系统上,用C++编两个程序:Client和Server。两个进程间利用socket进行TCP通信。Client进程运行后,输出提示信息,要求用户输入Server的IP地址和端口号;Client提示用户输入任意字符串,将该字符串通过socket传输至Server;Server进程运行后,输出本进程所在主机IP地址以及正在监听的端口号;Client以用户输入的参数连接到Server;Server将接收到的字符串打印输出至标准输出。原创 2024-11-30 08:00:00 · 1137 阅读 · 0 评论