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

   程序实现功能:

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

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

  核心类的程序框图


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

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

  说明

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

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

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

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

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

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

  socket使用程序初次尝试。

时间: 2016-05-12

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;

远程控制-有没有什么小软件或者代码可以实现控制局域网其他电脑后台运行指定小程序的?

问题描述 有没有什么小软件或者代码可以实现控制局域网其他电脑后台运行指定小程序的? win7系统,最近在做一些关于服务器的测试,一台电脑测试效果不好,有没有什么方法可以实现远程控制局域网其他电脑后台运行指定的测试小程序? 解决方案 用psexec,google下.

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

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

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

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

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

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

基于c#用Socket做一个局域网聊天工具_C#教程

程序设计成为简单的服务端和客户端之间的通信, 但通过一些方法可以将这两者进行统一起来, 让服务端也成为客户端, 让客户端也成为服务端, 使它们之间可以互相随时不间断的通信. 考虑到实现最原始的服务端和客户端之间的通信所需要的步骤对于写这样的程序是很有帮助的. 作为服务端, 要声明一个Socket A并绑定(Bind)某一个IP+这个IP指定的通信端口, 比如这个是127.0.0.1:9050, 然后开始监听(Listen), Listen可以监听来自多个IP传过来的连接请求, 具体可以同时连接几

跪求好心人帮助!!!聊天软件;文字聊天;图片传送,文件传输;C/S结构;聊天软件

问题描述 本设计就是模拟QQ聊天软件,开发一个包括文字聊天.文件传输,功能的聊天软件.本设计的开发采用C/S结构,在基于.NET开发环境下,使用C#编程语言进行开发.主要完成的任务包括服务器模块的设计.数据库的设计.添加好友.文字聊天和文件传输等功能.该多功能聊天软件运行稳定.可靠.(有源码+数据库+能调试最好),可以发邮箱([email protected]),再次拜谢!!!! 解决方案 解决方案二:都欠你的解决方案三:也是木得办法,感觉这个好难.网络这个实在搞不懂><解决方案四:出钱请吧