收藏 分享(赏)

晴天-局域网通信软件设计报告.doc

上传人:dreamzhangning 文档编号:2288044 上传时间:2018-09-09 格式:DOC 页数:3 大小:51.50KB
下载 相关 举报
晴天-局域网通信软件设计报告.doc_第1页
第1页 / 共3页
晴天-局域网通信软件设计报告.doc_第2页
第2页 / 共3页
晴天-局域网通信软件设计报告.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、晴天版局域网聊天程序1 总体设计此应用程序是基于 MFC 网络编程的一个聊天程序,主要用到了 VC 网络编程技术中的组播通信和异步套接字编程。为实现动态知道在线的主机,必须要在上线的时候给局域网内主机发布消息。而广播通信网络损耗较大,因此,选择了组播通信。同时,组播通信实现了局域网群聊这一功能。私聊板块主要利用数据链路层的 UDP 协议实现端到端通信。2 详细设计2.1 程序主界面2.2 组播通信的实现套接字建立-绑定-加入组播-注册网络事件BOOL CQtChatDlg:InitG()SOCKADDR_IN local,remote;bc_socket=WSASocket(AF_INET,S

2、OCK_DGRAM,0,NULL,0,WSA_FLAG_MULTIPOINT_C_LEAF|WSA_FLAG_MULTIPOINT_D_LEAF|WSA_FLAG_OVERLAPPED);if(INVALID_SOCKET=bc_socket)MessageBox(“创建多播套接字失败!“);return false;local.sin_family = AF_INET;local.sin_port = htons(MCASTPORT);local.sin_addr.s_addr = INADDR_ANY;remote.sin_family = AF_INET;remote.sin_port

3、= htons(MCASTPORT);remote.sin_addr.s_addr = inet_addr( MCASTADDR );if(SOCKET_ERROR=bind(bc_socket,(SOCKADDR*)return false;if(INVALID_SOCKET=(sockM=WSAJoinLeaf(bc_socket,(SOCKADDR*)return false;if(SOCKET_ERROR=WSAAsyncSelect(bc_socket,m_hWnd,UM_SOCK,FD_READ)MessageBox(“注册网络读取事件失败!“);return false;retu

4、rn true;2.3 指定 IP 通信的实现套接字建立-绑定-注册网络事件BOOL CQtChatDlg:InitT()m_socket=WSASocket(AF_INET,SOCK_DGRAM,0,NULL,0,0);if(INVALID_SOCKET=m_socket)MessageBox(“创建套接字失败!“);return FALSE;SOCKADDR_IN addrSock;addrSock.sin_addr.S_un.S_addr=INADDR_ANY;addrSock.sin_family=AF_INET;addrSock.sin_port=htons(6000);if(SOC

5、KET_ERROR=bind(m_socket,(SOCKADDR*)return FALSE;if(SOCKET_ERROR=WSAAsyncSelect(m_socket,m_hWnd,UM_SOCK,FD_READ)MessageBox(“注册网络读取事件失败!“);return false;return true;2.4 通信方式的转换通过选择不同的 IP 地址实现,233.0.0.1 用于组播通信,127.0.0.1 用于本机的通信测试。3 操作方法说明通过改变下拉列表的值可以改变通信方的 IP。当 IP=233.0.0.1 时可以接受局域网用户上下线消息,还可以对所有运行此程序的主机发送广播消息,实现消息群发。消息的录入与发送在发送按钮左边的文本框和发送按钮实现。中间的文本框用于显示消息记录。刷新按钮用于及时获取用户在线信息。一般情况下,动态更新没有问题,不用进行刷新。程序在 XP 系统运行良好。4 总 结通过应用程序的设计,知道了端到端通信的实现细节,以及 TCP 和 UDP 在数据传输上的区别。学会了运用广播和组播通信的方式去实现信息的批量传输。总体上对数据链路层协议有了更深的理解,同时锻炼了 VC 的编程能力。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报