局域网聊天软件(winsocket)

程序实现功能:

局域网聊天软件,启动即可找到在线设备,并能够进行简单的文字聊天。

其实下面这个框图已经说明了程序的绝大部分功能原理。

核心类的程序框图

我觉得,这个程序中使用的最好的技术,应该就是IOCP了。后面我会针对IOCP好好地写一篇博文,这个技术虽然刚学的时候有点乱,但是确实很好用。

上面的框图中中间的UDPServer线程等待的事件完成是MainServer线程在Listen函数调用结束后设置的事件。这里忘了标了。

说明

前几天在实验室看《Windows网络与通信程序设计》这本书,看完了前5章吧,就觉得目前手头的技术去做一个局域网聊天软件应该差不多了。虽然还有很多细节性的东西还不是非常懂,但是做一个小规模的软件,我自认为是问题不大的。就这样,在大约4天之后,也就是这个月的18号,这款LANChat程序诞生~

首先我声明:因为我第一次写网络相关的程序,所以肯定存在疏忽,在相关方面肯定是存在不少bug的,另外我在测试的时候也经常遇到程序启动失败的情况,而且原因尚未查明。所以我并不保证这款程序的稳定性和安全性。(作为这个程序的设计人员真是感到汗颜~以后会好的)

另外代码中大部分析构函数形同虚设,毕竟最初实现的时候尚不清楚能够实现与其功能,所以根本就没顾忌资源释放这一块。比如,聊天窗口建立这一块我就没使用delete。

多线程部分因为涉及到对数据的访问问题,所以我使用了关键段:CriticalSection结构以及相关函数。

因为这个文档是在寝室写的,所以没有在线设备,也无法打开聊天窗口,在实验室三台计算机之间使用没问题。

另外winsock2初始化是在工程中选择的,在如console类的程序中使用socket程序前一定要做好相关的初始化以及库,文件包含工作。

socket使用程序初次尝试。

时间: 2024-10-27 10:03:59

局域网聊天软件(winsocket)的相关文章

winsocket局域网聊天软件怎么运行?

  程序实现功能: 局域网聊天软件,启动即可找到在线设备,并能够进行简单的文字聊天. 其实下面这个框图已经说明了程序的绝大部分功能原理. 核心类的程序框图 我觉得,这个程序中使用的最好的技术,应该就是IOCP了.后面我会针对IOCP好好地写一篇博文,这个技术虽然刚学的时候有点乱,但是确实很好用. 上面的框图中中间的UDPServer线程等待的事件完成是MainServer线程在Listen函数调用结束后设置的事件.这里忘了标了. 说明 前几天在实验室看<Windows网络与通信程序设计>这本书

求用pb或c#做的局域网聊天软件源代码

问题描述 寻求一个用pb或c#做的局域网聊天软件源代码,功能有:聊天.传送文件.语音. 解决方案 解决方案二:好象没有这么完整的.解决方案三:建议用java吧,C#的使用者们估计还没有这么强的开源精神.看看java的openfire和spark吧,都是开源的解决方案四:openfire和spark不只支持前述的功能,视频聊天也支持的解决方案五:资料带源码,绝对完整,直接可以编译http://blog.csdn.net/HeddaZ/archive/2008/04/23/2317343.aspx解

c#局域网聊天软件的实现

本软件是基于大学寝室局域网聊天的思路.c#源代码如下: 1 using System; 2 using System.Drawing; 3 using System.Collections; 4 using System.ComponentModel; 5 using System.Windows.Forms; 6 using System.Data; 7 using System.Threading; 8 using System.Net.Sockets; 9 using System.IO;

局域网限速软件控制电脑网速、控制局域网流量教程

在局域网网络管理中,网管员一个非常重要的工作就是限制局域网网速.合理分配上网带宽.这是因为国内企事业单位出口网络带宽一般较小,企业上网速度普遍较慢.而当前各种网络应用层出不穷,尤其是P2P下载.在线看视频.看网络电视等行为极为普遍.这些与工作无关的网络应用和上网行为会极大地消耗单位的网络带宽,极容易造成局域网网速很慢.电脑上网很慢的情况.为此,网管员必须采取有效的举措来监控局域网电脑流量.限制上网流量和控制上网速度. 作为聚生网管系统的核心功能之一,限制局域网电脑网速.控制网络带宽一直是聚生网管

服务器-求教一个设计聊天软件的问题~

问题描述 求教一个设计聊天软件的问题~ 打算做一个聊天软件,本想模拟飞秋那样,知道不用用到服务器来作为中间传输工具,后来参考很多资料都是基于c/s模式的设计~搞得我现在有点混淆概念,上网查资料大家对服务器的概念好像不太一样,到底可不可以实现不用服务器只有两个客户端来通讯的系统呢?请教各路大神给点建议~~~ 解决方案 除非在一个局域网这样简单的场合使用广播,否则服务器是必不可少的.即便你使用P2P方式通讯,服务器还是需要存在的,用于账户验证.好友列表.上线.下线.获取对方IP.建立连接等等. 解决

用Delphi编写视频聊天软件

一.引言 我们知道视频聊天软件的关键技术在于采集视频,并实时传输给聊天软件在线的人.对于视频的采集,这里采用微软公司的关于数字视频的一个软件包VFW(Video for Windows).相信很多人对它都很熟习,VFW能使应用程序通过数字化设备从传统的模拟视频源得到数字化的视频剪辑,VFW的一个关键思想是播放时不需要专用硬件.为了解决数字视频数据量大的问题,需要对数据进行压缩,而VFW引进了AVI的文件标准.该标准未规定如何对视频进行捕捉.压缩及播放,仅规定视频和音频该如何存储在硬盘上及在AVI

即时聊天软件QQ终于支持多用户配置隔离

即时聊天软件QQ终于支持多用户配置隔离,使得以普通用户权限运行QQ程序成为可能.这给具有安全意识的用户和IT管理人员而言,提供了方便.我不太清楚使用"多用户配置隔离"这个词是否准确,我所说的"多用户配置隔离"是指操作系统下用户将自己运行某个程序需要的个性化信息,比如账号密码等,保存在用户自己的主目录下. 简单说,在Windows NT系统里,用户的主目录指的就是C:\Documents and Settings\User目录.而C:\Program Files目录存

五款常用聊天软件的常用快捷键大全

很多人每天打开电脑后的第一件事就是打开聊天软件,或QQ,或MSN等其他的软件,即使是工作也可以随时和亲朋好友保持联系.虽然聊天软件对用户电脑操作水平的要求并不高,可是,我还是提议大家掌握一些聊天软件基本的快捷键,这样可以让您使用起来更加的方便.下面就为大家简单介绍一些目前比较受欢迎的五款常用聊天软件的快捷键. 一.QQ常用快捷键 QQ的全部快捷键加在一起,也只有17个,其中使用频率较高的,也只有下面的6组: Alt+S 快速回复 Alt+C 关闭当前窗口 Alt+H 打开聊天记录 Ctrl+回车

nw.js实现类似微信的聊天软件

本文给大家介绍的是使用nw.js实现类似微信的聊天软件,还处于测试阶段,功能非常少,大家一起来添砖加瓦吧. nw.js实现类似微信的聊天软件 公司 qq被屏蔽,微信被屏蔽,怎么与外边通讯,你懂的.当然,也适合公司自己内部架设服务器,通讯. 项目地址: free chat 截图: 以上就是给大家分享的这个freechat的全部内容了,小伙伴们可以自由扩展哦,你懂得~