最新推荐qq怎么局域网传文件优秀word范文 13页.docx

上传人:b****2 文档编号:2700700 上传时间:2023-05-04 格式:DOCX 页数:14 大小:23.82KB
下载 相关 举报
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第1页
第1页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第2页
第2页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第3页
第3页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第4页
第4页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第5页
第5页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第6页
第6页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第7页
第7页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第8页
第8页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第9页
第9页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第10页
第10页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第11页
第11页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第12页
第12页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第13页
第13页 / 共14页
最新推荐qq怎么局域网传文件优秀word范文 13页.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

最新推荐qq怎么局域网传文件优秀word范文 13页.docx

《最新推荐qq怎么局域网传文件优秀word范文 13页.docx》由会员分享,可在线阅读,更多相关《最新推荐qq怎么局域网传文件优秀word范文 13页.docx(14页珍藏版)》请在冰点文库上搜索。

最新推荐qq怎么局域网传文件优秀word范文 13页.docx

最新推荐qq怎么局域网传文件优秀word范文13页

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!

==本文为word格式,下载后可方便编辑和修改!

==

qq怎么局域网传文件

篇一:

局域网消息发送程序

局域网消息发送程序

学生姓名:

xx指导老师:

xxx

摘要本次课程设计的任务是实现一个局域网消息发送程序,该程序使用Java编程语言实现,消息发送和接收运用了Socket编程,界面编写通过Swing来实现。

经过一个星期的程序编写和调试,成功的完成了局域网消息发送程序,该程序能够实现同网段主机之间的消息发送和接收,并且使用到了多线程让服务器能够同时监听多个客户端。

本次课程设计编写的程序能够很好的方便用户在局域网内互相交流,提供了图形界面,使交互性大大增加。

关键词局域网;消息发送;Socket编程

TheLANMessageSendingProgram

Studentname:

JinFangAdvisor:

XiaoWeiXie

AbstractThecoursedesignofthetaskistoachieveaLANmessagingprogram,theprogramusestheJavaprogramminglanguage,messagesendingandreceivingtheuseofSocketprogramming,interfacewritteninSwingtoachieve.Afteraweekofprogramcompilinganddebugging,successfullycompletedtheLANmessagingprogram,theprogramcanachievethesamesegmentsbetweenthehosttosendandreceivemessages,andtousethemultithreadservercansimultaneouslymonitormultipleclients.Thecoursedesignoftheprogramcanbeverygoodfortheusertocommunicatewitheachotherinthelocalareanetwork,providesagraphicalinterface,sothattheinteractionisgreatlyincreased

KeywordsLAN;MessageSending;SocketProgramming

1引言

随着互联网逐步普及,互联网技术的逐步提高。

网络聊天工具作为一种交流工具,已经受到网民的青睐。

目前,出现了很多功能强大的聊天工具,其中应用比较广泛的有腾讯QQ、MSN-Messager等等。

即时通讯软件,是每一个上网用户都需要的工具,它除了能够让您迅速地在网上找到自己的朋友和伙伴之外,还可以实时交谈和传递信息,截止到目前,全球约有近3亿多人使用即时软件,正因为即时通讯软件拥有数以亿计的用户和增长的市场,所以各个公司都盯上了这个最大的市场,一时间,即时通讯市场硝烟四起。

人们的工作和生活也越来越离不开网络,而即时聊天是人们最常见、最直接的online交流的方式。

本系统以聊天功能为主,通过网络为用户提供一个人际交流的平台。

本文所介绍的网络聊天系统是基于JAVA编程语言开发设计的,其主要特性是能动态、实时的完成消息的传递,且具有高效的交互性,能更有效的处理客户请求,其运行时所需环境及工作流程和各模块的工作原理将在本文依次介绍,并且文中提供了全部程序源代码。

1.1设计平台

硬件:

一台安装Windows7系统的联有局域网的主机软件:

eclipse

2设计原理

1.1Socket编程

Socket,简称套接字,用于实现网络上客户和服务器之间的连接。

也就是说网络上两个或两个以上双工方式通信的进程之间总有一个连接,这个连接的端点成为套接字,套接字是在比较低的层次上通信的。

具体的说:

一个服务器应用程序一般侦听一个特定的端口等待客户端的连接请求,当一个连接请求到达时,客户端和服武器端建立一个通信连接,在连接过程中,客户端被分配一个本地端口与一个Socket建立连接,客户端通过写Socket来通知服务器,以读Socket中的信息,类似的服务器也获得一个本地端口,它需要一个新的端口号来侦听原始端口上的其他连接请求。

服务器也通过它的本地端口连接一个socket,通过读写和客户端通信。

Socket程序的工作工作过程:

1.建立Socket连接:

在通信开始之前由通信双方确认身份,建立一条专有的虚拟连接通道。

2.数据通信:

利用虚拟连接通道传送数据信息。

3.关闭:

通信结束时,再将所建的虚拟连接拆除。

具体过程如图2-1:

图2-1Socket套接字原理图

1.2局域网概述

局域网(LocalAreaNetwork,LAN)是在一个局部的地理范围内(如一个学校、工厂和机关内),一般是方圆几千米以内,将各种计算机,外部设备和数据库等互相联接起来组成的计算机通信网。

它可以通过数据通信网或专用数据电路,与远方的局域网、数据库或处理中心相连接,构成一个较大范围的信息处理系统。

局域网可以实现文件管理、应用软件共享、打印机共享、扫描仪共享、工作组内的日程安排、电子邮件和传真通信服务等功能。

局域网严格意义上是封闭型的。

它可以由办公室内几台甚至上千上万台计算机组成。

决定局域网的主要技术要素为:

网络拓扑,传输介质与介质访问控制方法。

LAN的拓扑结构常用的是总线型和环行,这是由于有限地理范围决定的,这两种结构很少在广域网环境下使用。

LAN还有诸如高可靠性、易扩缩和易于管理及安全等多种特性。

局域网一般为一个部门或单位所有,建网、维护以及扩展等较容易,系统灵活性高。

其主要特点是:

覆盖的地理范围较小,只在一个相对独立的局部范围内联,如一座或集中的建筑群内。

使用专门铺设的传输介质进行联网,数据传输速率高(10Mb/s~10Gb/s)通信延迟时间短,可靠性较高局域网可以支持多种传输介质

局域网的类型很多,若按网络使用的传输介质分类,可分为有线网和无线网;若按网络拓扑结构分类,可分为总线型、星型、环型、树型、混合型等;若按传输介质所使用的访问控制方法分类,又可分为以太网、令牌环网、FDDI网和无线局域网等。

其中,以太网是当前应用最普遍的局域网技术。

1.3C/S结构

C/S结构,即大家熟知的客户机和服务器结构。

它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。

目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。

这也就是目前应用系统的发展方向。

篇二:

如何在局域网内禁止登录QQ

如何在局域网内禁止登录QQ?

?

?

?

一、使用防火墙禁止端口法

我们知道QQ使用的默认端口是UDP4000,使用防火墙将该端口关闭,那么别人就不

能使用QQ了,当自己需要上网时只需开放该端口就可以了。

下面以我使用的“金山网镖6”进行说明,点击菜单“工具”→“综合设置”→“IP

过滤”→“添加”,弹出新窗口。

在“端口”栏输入“4000”,在“协议”栏选择“UDP”,在“操作”栏选择“禁止”,这样就将UDP4000端口关闭了。

再操作一次,只是在“协议”栏选择“TCP”,将TCP4000

端口关闭。

可以看到已经禁止了UDP4000和TCP4000端口。

此时你再登录QQ时试试,是不是一直不能成功呀!

时间长了会出现连接超时的情况,即使重

新安装了QQ,也不能登录成功。

如果你想使用QQ时,可修改上述规则,将“操作”栏的“禁止”改为“允许”就可以

了。

到这里还不到万事大吉的时候。

不信你可以再开一个QQ登录窗口(即同时有两个QQ登录窗口)试试,不一会竟然登录成功了。

难道我们介绍的方法不管用吗?

非也!

这是因为在一个电脑进行多次QQ登录时,后来的QQ使用的端口号会是4001、4002、4003,即每运行一个QQ,使用的UPD端口会加1。

由于我们同时运行了两个QQ,第二个QQ使用的端口号是UDP4001,而不是UDP4000,当然能够登录成功了。

为了保险起见,我们需要封4000到4009,九个端口就可以了。

你的同事总不能在一个QQ不能登录时,会同时运行10个登

录窗口吧。

QQ可以使用UDP方式登录服务器,也可以使用TCP方式登录服务器。

1)UDP方式登录

QQ客户端首先发起DNS请求,请求解析以下域名:

(61.144.238.145)

(61.144.238.146)

(202.104.129.251)

(202.104.129.254)

(61.141.194.203)

(202.104.129.252)

(202.104.129.253)

的IP地址,然后向这些服务器的8000端口发送UDP报文,选择一个回应速度最快的服务器登录。

如果服务器都没有回应就改用TCP方式登录。

所以防火墙只要设置静止目的

端口是8000的UDP访问就可以禁止QQ的UDP登录。

2)TCP方式登录

QQ可以通过TCP的80端口和443端口登录,防火墙都会允许通过这两个端口的访问的,所以要禁掉QQ的访问就只能设置防火墙规则禁止对QQ服务器地址的访问。

QQ的TCP

登录服务器有以下:

(218.17.209.23)

(218.18.95.153)

(61.141.194.227)

(218.18.95.171、218.18.95.221)

会员登录服务器地址为218.17.209.42。

设置防火墙规则静止这些地址的访问,就可以基本

上禁止QQ的登录。

二、将QQ安装目录下的文件属性改为只写

QQ在运行过程中需要正确加载“LoginUinList.dat”文件,该文件存储着用户的帐户信息,并且要将登录过程中的一些信息写入到安装目录下相关文件中,默认情况下QQ的安装目录是可以读写的,如果将QQ安装目录属性改为“只读”,那么QQ在登录过程中就因为

无法写入登录信息而拒绝登录。

操作方法:

找到QQ安装目录(默认为C:

\ProgramFiles\Tencent\QQ),在其上点击鼠

标右键,在弹出的菜单中选择“属性”,然后在弹出的窗口;

将其属性设置为“只读”,再点击“确定”,此时会弹出一个“确认属性更改的”对话框,选中“将更改应用于该文件夹、子文件夹和文件”按钮,连续两次点击“确定”按

钮,关闭属性对话框。

现在重新启动QQ,QQ号码就不能再登录了。

当你需要用QQ时,去掉该安装目录和该目录下所有文件的只读属性就可以了。

三、编辑Hosts文件

如果您经常上网你就会发现,每当您每在IE中输入一个网址并回车后,在IE的状态栏就会出现一行字:

“正在查找网站”,有时很快,有些却特别慢,一般第一次访问网站都比以

前访问过的慢,这就是域名解析的问题。

众所周知,计算机只能识别二进制的字符,因此为了标识每个网站就引入了IP地址的概念,IP地址就是网络上标识您站点的数字地址,就如同210.51.7.122一类的数字,很难记忆,为了简单好记,就采用了域名的方法来代替IP地址标识站点地址。

所以当我们浏览所需的网站时,我们访问网站时要先连接到域名解析服务器(各地服务商提供)解析出IP地址来后才访问网站。

因此,往往要耗费不少的时间,如果我们省去连接这个域名解析服务器的环节而直接访问网站速度当然会快不少。

Hosts文件可以加快IP地址与主机名的映解析

速度,从而提高上网速度。

实现域名本地解析的方法是将网站域名和其对应的IP地址存放到一个文件中,该文件名为Hosts,其内容存放格式为:

IP地址域名#注释,该文件在Windows98系统中存放

在C:

\Windows\目录下,在Windows201X或XP中存放的路径为

C:

\windows\system32\drivers\etc\(假设操作系统均安装在C:

盘)。

我们上网时会首选搜索Hosts这个文件是否有相关的解析,如果没有才会通过网络服务的服务器进行解析。

如果我们将QQ的全部服务器与错误的IP地址对应,并存入在Hosts

文件,那么QQ就不能正常登录了。

用记事本打开Hosts文件,然后在文件中按照“IP地址域名#注释”的格式,将QQ

服务器域名与错误的IP地址对应起来,从而实现禁用QQ的目的。

具体设置如下:

#禁用QQ1号服务器

#禁用QQ1号服务器

#禁用QQ2号服务器

#禁用QQ3号服务器

篇三:

UDP局域网QQ聊天程序设计说明书

3.2类库的设计

在本局域网聊天软件中,因为在后台服务器端的用户信息管理平台以及前台的客户端的登录窗口、主界面窗口以及聊天窗口都需要用到UDP协议。

所以本程序中,将UDP协议封装成了一个控件,主要是为了便于客户端和服务器端的调用,并且将UDP控件和自定义类存储在了Controls文件夹中。

当需要使用到UDP协议的时候,只需要在相应的窗口中加入SockUDP控件,然后设置SockUDP控件的相关的属性即可。

下面对Controls中的SockUDP控件和其他的类分别进行说明。

(1)SockUDP控件

该控件主要是将UDP协议中的IP地址和端口号以及开启或者关闭的状态以控件的形式进行设置,并自定义一个了DataArrival事件,用于对主机的端口号进行监听,以获取远程计算机发送过来的消息。

在自定义控件上制作了System.Net.IPEndPoint类的server属性,来获得对方IP地址和端口号信息

UDPSocket控件中包含CloseSocket()方法分别用于关闭UDP协议端口的监听功能,并在监听关闭的同时关闭用于接收信息的子线程。

Listener()方法用于实现主机端口号的监听功能,主要是将IP地址和端口号以网络端点进行存储,然后创建一个新的端口号,再设置接收缓冲区和发送缓冲区的大小。

此外,还创建了一个线程,主要是用于获取当前接收到的信息,就是将获取的远程信息转换成二进制流。

在线程打开时,将GetUDPData()方法所接收的信息传递给线程的委托。

GetUDPData()方法是在获取远程消息时,将消息转发给UDPSocket控件的DataArrival事件,可以通过该事件将消息发送给远程客户端。

Send()方法用于将主机获取的消息,通过IP地址和端口号发送给远程客户端。

Dispose()函数用以清理正在使用的资源

通过以上的方法,便制作完成了一个SockUDP控件。

(2)Publec_Class类

该类用于记录服务器端和客户端的基本信息,并通过自定义的方法MyHostIP()获取服务器端的所有IP地址,通过自定义方法Get_Windows()获取Windows目录。

(3)ClassForms类

该类将获取的的窗体在InnerList列表中进行添加和移除操作,在列表中查找相应的窗体。

(4)ClassMsg类

该类主要是用枚举型的元素指定消息发送的命令、消息类型、消息发送的状态等。

其中,发送的消息命令包括了用户登录、用户登录结束上线、用户列表、打开语音、关闭语音、下线等命令;发送的消息类型包括了无类型、发送命令、发送消息、发送文件

等。

此外,该类还用来记录发送方和接收方的发送编号、IP地址以及端口号等信息,还记录了用户注册的用户名和密码等信息。

(6)ClassSerializers类

①SerializeBinary()方法

该方法是在客户端发送信息时,将发送的对象序列化为二进制流,并返回序列化的二进制流,因为Socket只能以二进制流的形式进行传输。

②DeSerializeBinary()方法

该方法是在客户端接收信息时,将二进制流反序列化为对象,并返回反序列化后的对象,这样,便于在指定的控件上显示接收的信息。

(7)ClassUserInfo类

该类用于记录当前用户的编号、IP地址、端口号、用户名称和用户状态。

(8)ClassUsers类

该类主要是将服务器端所有注册的用户信息存储到base类的InnerList列表中。

这样,当用户注册或登陆时,可以将该列表中的信息发给当前在线的所有用户,以改变主窗体的显示情况。

ClassTextMsg类

该类主要是用枚举型的元素指定发送文本的字体、颜色、内容等。

4.2.2客户端登陆模块技术分析

在UDP协议的监听事件中通过开启一个线程,来实现局域网信息的发送和接收。

要想创建一个子线程,需要实例化一个Thread类型的对象。

子线程创建完后,可以使用线程的Start()方法开启当前线程。

当子线程使用完之后,可以使用Thread对象的Sleep(0)方法将主线程睡眠,然后调用线程的trd.Abort()方法终止当前线程。

4.2.3客户端登陆模块实现过程

(1)新建一个Windows窗体,命名为FormLogon.cs。

该窗体主要实现客户端的登陆功能。

(3)在登陆窗体加载时,获取服务器IP和端口号,再根据该IP地址和端口号与服务器建立通信,把用户的信息发送给服务器进行记录。

(4)在自定义控件SocUDP的DataArrival事件中,利用托管调用DataArrival事件,并在该控件的线程上,用指定的参数对其进行异步托管。

(5)托管对DataArrival事件进行异步执行,用于获取服务器端所返回的消息,当返回的是登陆成功消息时,存储服务器端返回的ID值进入客户端主窗体。

4.3客户端主窗体模块设计

4.3.1客户端主窗体模块概述

主窗体模块主要显示当前已登陆的所有用户的名称,并根据用户的在线情况,设置

用户名称前的图标样式。

4.3.2客户端主窗体模块技术分析

在本窗体中使用InnerList列表记录当前登陆用户的信息,并将InnerList列表中的信息添加到treeview控件中。

treevie1控件上同级节点的连接线已经去掉,这样使各个图标看起来更加的美观。

InnerList用于存储项目的ArrayList对象,它是CollectionBase对象中的一个属性,可以通过该属性的Add()和Remove()方法向列表中添加和移除元素。

具有在线和离线的功能。

当用户在线时,就显示图标,当用户下线时,就移去改图标。

当下线时,UDP协议将关闭监听。

4.3.3客户端QQ模块实现过程

(1)新建一个Windows应用程序,将默认创建的Windows窗体命名为FormMain.cs,

(2)在窗体加载时,首先要调用登陆窗体,当登陆窗体验证成功后,发送消息给服务器端,返回所有注册的用户信息。

然后再根据用户的在线和离线状态,在Treeview上设置用户的图标。

(3)自定义方法DataArrival(),处理各类信息

case0:

//有用户离线

userSingnOut(msg.ID);//处理用户离线

break;

case1:

//服务器告诉自己已经登录,登录过程

SuccessLogin(msg);

break;

case2:

//服务器告诉用户自己目前在线

updateSelfState();//更新当前用户在线状态

break;

case3:

//服务器告诉用户有新的联系人登录

NewUserLogin(newClassSerializers().DeSerializeBinary((newSystem.IO.MemoryStream(msg.MsgContent)))asClassUserInfo);//添加新登录的用户资料

break;

case4:

//收到用户部分联系人的资料

UsersDataArrival((new

ClassSerializers().DeSerializeBinary((newSystem.IO.MemoryStream(msg.MsgContent)))asControls.ClassUsers));//收到用户所有联系人的资料

break;

case5:

//收到用户联系人发送来的对话消息

UserChatArrival(msg,Ip,Port);//处理对话消息

break;

case6:

//联系人返回已经收到刚才发送的对话消息

returnChatArrival(msg.ID);//联系人返回已经收到刚才发送的对话消息

break;

case8:

//对方要求UDP打洞

UDPNatTranslators(msg,Ip,Port);

break;

case10:

//收到联系人发出发送文件请求

sendFileRequest(msg,Ip,Port);

break;

case11:

//收到联系人发送来的gif图片流

UserGifArrival(msg,Ip,Port);//处理gif图片消息

break;

case12:

//收到用户发送来的文本消息

UserTextChatArrival(msg,Ip,Port);//处理用户发送来的文本消息break;

case13:

//收到语音对话请求

//MessageBox.Show("语音对话请求"+Ip.ToString()+":

"+Port.ToString());

UserAVRequestArrival(msg,Ip,Port);

break;

case14:

//对方告诉自己开始语音对话

//MessageBox.Show("开始视频对话"+Ip.ToString()+":

"+Port.ToString());

UserBeginAV(msg,Ip,Port);

break;

case15:

//对方已经取消息语音对话

CancelAV(msg.ID);//取消语音对话

break;

(10)当在用户头像上双击某一个在线用户的图标时,即可打开该用户的聊天窗口。

然后在文本框输入文本信息发送,就可以与该用户进行文本信息的聊天。

点击该窗口上的语音和文件传输的按钮,还可以与该用户进行点对点的语音和文件传输。

4.4客户端消息发送模块设计

4.4.1客户端消息发送模块概述

消息发送模块主要用于实现客户端与远程客户端的消息通信。

不但具有具有文本聊天的功能,还具有点对点的语音和文件传输等功能,此外,还可以进行字体的设置,表情的发送以及图片的发送等功能。

发送消息窗体名称FormSendMsg

定义的方

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2