1 / 12
文档名称:

C#局域网聊天工具、消息推送实现思路与源码.doc

格式:doc   大小:126KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

C#局域网聊天工具、消息推送实现思路与源码.doc

上传人:gk0yw56 2017/4/13 文件大小:126 KB

下载得到文件列表

C#局域网聊天工具、消息推送实现思路与源码.doc

相关文档

文档介绍

文档介绍:C# 局域网聊天工具怎么实现? ,信息的发送常用的协议有面向连接的 TCP 协议,以及不面向连接的 UDP 协议 :TransmissionControlProtocol 传输控制协议,其是一种面向连接的、可靠的字节流服务。面向连接意味着两个使用 TCP 的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个 TCP 连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。 :UserDatagramProtocol 用户数据报协议( RFC768 ),UDP 传送数据前并不与对方建立连接,即 UDP 是无连接的,在传输数据前,发送方和接收方相互交换信息使双方同步。 4. 系统也要定义自己的通讯协议,来完成一些系统的功能,如用户上,下线的通知,都要定义自己的通讯协议来完成相应的功能!也可以称这种自定义的协议为“命令”. ,说明其自定义的协议(命令) IPMSG_NOOPERATION 不进行任何操作 IPMSG_BR_ENTRY 用户上线 IPMSG_BR_EXIT 用户退出 IPMSG_ANSENTRY 通报在线 IPMSG_SENDMSG 发送消息 IPMSG_RECVMSG 通报收到消息 IPMSG_GETFILEDATA 请求通过 TCP 传输文件 IPMSG_RELEASEFILES 停止接收文件 IPMSG_GETDIRFILES 请求传输文件夹以“IPMSG_BR_ENTRY 用户上线”和“IPMSG_ANSENTRY 通报在线”为例说明命令处理流程:当程序启动时,命令 IPMSG_BR_ENTRY 被广播到网络中,向所有在线的用户提示一个新用户的到达(即表示“我来了”);所有在线用户将把该新上线用户添加到自己的用户列表中,并向该新上线用户发送 IPMSG_ANSENTRY 命令(即表示“我在线”);该新上线用户接收到 IPMSG_ANSENTRY 命令后即将在线用户添加到自己的用户列表中。 PS: 根据本系统的特征, 可以在聊天部分采用 UDP 协议, 在文件传输,视频, 语音功能上采用 TCP ,如何发送广播消息,以及 C#如何实现广播. ,以及广播地址怎么计算 广播地址是什么? 主机号全为 1, 用于向一个网络内的所有主机发送信息的 IP : 受限的广播地址是 。该地址用于主机配置过程中 IP数据报的目的地址,此时,主机可能还不知道它所在网络的网络掩码,甚至连它的 IP地址也不知道。在任何情况下,路由器都不转发目的地址为受限的广播地址的数据报,这样的数据报仅出现在本地网络中。 PS: 一般无特殊要求广播地址选择 即可. 计算方法首先计算网络地址=IP 地址逻辑与(&) 子网掩码先把 IP,子网掩码转为 2进制,然后进行逻辑与运算,得出网络地址例: 子网掩码 IP转二进制 子网掩码 与运算后 这就是网络地址,其中子网掩码全 1 对应为网络号,全0 对应的是主机号,即 对应的网络号为 , 主机号为 . 将网络地址主机部分全取反后得到的地址便是广播地址: 广播地址 换成 10进制则为 # 利用 UDP 协议如何实现广播 如何实现 UDP 广播,直接举例说明: button1_Click 时使用了 UDP 广播向外发送了数据 RecData() 在后台接受 UDP 协议的消息//UDP 通过广播实现群发功能 namespace BroadcastExample {public partial class Form1:Form {delegate void AppendStringCallback(stringtext); AppendStringCallback appendstringcallback; //使用的接收端口 51008 ///<summary> /// 端口号///</summary> private int port=51008; ///<summary> ///udp 连接对象///</su