zoukankan      html  css  js  c++  java
  • LPC 网络编程

    LPC有五种不同的通信模式(socket模式)

    ① MUD (面向连接的通信模式)
    可以把除Object以外的所有LPC模型从一个MUD传到另一个MUD
    弊端: 无法传送物件造成了穿越MUD的功能(即需要一个个的发送和接收物件的所有直接、间接继承,
    可扩展性、可兼容性比较差)


    ②STREAM 模式
    也是一种面向对象的通信方式,与MUD不同的在于,他的所有数据都是以字符串形式传递。
    弊端: 由于无法直接发送和接收所有的IPC类型,STREAM则没有那么强大(适用于像Telnet协议,这样不需要发
    送整数,数组这样的数据;只发送各个方向的字符流)的协议;
    其实MUD模式的实现原理就是使用特殊的代码以STREAM模式来发送个接收LPC的数据类型。所以速度要比MUD快,
    内存消耗比MUD少
    它是将字符串分份,一份一份的送,所以在网络延迟的情况下,无法确定组合之后的字符串是否完整


    ③ DATAGRAM模式
    DATAGRAM是无连接的,不需要跟服务器确定连接就可以发送数据,它所传送的数据是一种叫“dataGRAM”的数
    据包,数据包存在寻址信息,可以自觉地从网络一端到另一端
    弊端: 因为没有一个确定的连接,所以数据包可能在网络中丢失,发送方无法得知数据包是否丢失,接收方也
    不知道数据包的存在


    ④TCP和UDP模式
    TCP是能保证数据被正确发送的协议
    如果它发现数据丢失了,尝试重新发送,知道收到为止,确保了数据可以按照顺序到达,不会收到两个同样的
    数据包
    STREAM 是建立TCP连接然后发送数据的
    UDP是一只面向Datagram 的协议,简单来说就是发送没有连接;
    在特殊情况下可以使用UDP,不需要考虑数据是否发送到了的情况下使用UDP,可以有效降低网络负担

  • 相关阅读:
    Delphi下遍历文件夹下所有文件的递归算法
    mysql + unidac 使用事务例子
    新建DataSnap REST Application
    ClientDataSet中的错误处理
    TSQLConnection的事务处理
    ClientDataSet的查找和过滤功能
    TField中的GetText和SetText
    ClientDataSet中撤消与恢复操作及执行细节
    ClientDataSet中动态添加计算字段并用计算字段显示记录的UpdateStatus
    ClientDataSet中动态添加计算字段
  • 原文地址:https://www.cnblogs.com/kpxy/p/10170585.html
Copyright © 2011-2022 走看看