ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:40.03KB ,
资源ID:27370836      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/27370836.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Socket和多线程编程的聊天程序实现.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Socket和多线程编程的聊天程序实现.docx

1、Socket和多线程编程的聊天程序实现SOCKET编程实现聊天程序一、课题内容 基于Socket和多线程编程的聊天程序实现二、课题要求 网络聊天程序设计非常复杂,允许多个人同时聊天更加需要多线程技术的支持,请实现一个简单的多线程网络聊天程序模拟。三、设计思路分析1. 在网络越来越发达的今天,人们对网络的依赖越来越强,网络聊天已经成了许多人生活中必不可少的一部分,基于这样的需求,出现了许多网络聊天通信工具,像QQ,MSN等等,但是人们已经不再满足于单一的两个人之间的聊天,而是对多人同时聊天产生了兴趣,于是出现了网络聊天室,不同地方的人可以在那个虚拟的聊天室里面热烈聊天。基于这样的想法,我们用JA

2、VA设计一个多人同时聊天的小程序,用Socket编程实现网络通讯,面向连接的,采用多线程的实现技术。2. 在程序中,可以设置加入连接的最大数目,通过更改IP地址和端口号,成为不同的客户端,与服务器端连接,进行多用户聊天。3. 为方便用户交互,我们采用图形化的用户界面。实现了好友添加,消息收发、显示等基本功能。四、概要设计 该网络聊天程序大致分为三个主要部分:客户端、服务器端和用户图形界面。各个部分的初步设计思想、流程及存储结构如下:1.程序整体框架主程序监听一端口,等待客户接入;同时构造一个线程类,准备接管会话。当一个Socket会话产生后,将这个会话交给线程处理,然后主程序继续监听。2.客户

3、端(Client)客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个端口。3.服务器端(Server)服务器端,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。4.用户图形界面用户图形界面方便程序与用户的交互,多个用户参加,完成会话功能,具体的设计要方便用户的使用,直观清晰,简洁明了,友

4、好美观。5.存储结构下面列出主要存储结构或变量:存储结构、变量、对象类型说明postInetAddress标识IP地址Portint标识端口Server ServerThread服务器端连接数Client Socket客户端连接数Client(String ip,int p,Face chat)publicClient类成员函数Public void run()VoidClient、Server类成员函数Server(int port,Face chat)publicServer类成员函数Face()PublicFace类成员函数五、详细设计 代码分服务器端、客户端、和用户图形界面三部分,分别

5、如下:1.服务器端服务器端主要是使用ServerSocket类,相当于服务器Socket,用来监听试图进入的连接,当新的连接建立后,该类为他们实例化一个Socket对象,同时得到输入输出流,调用相应方法完成会话。具体代码如下:package ;import java.awt.*;import .*;import java.io.*;public class Server extends Thread ServerSocket skt; / ServerSocket类监听进入的连接,为每个新的连接产生一个Socket对象 Socket Client =new Socket10; Socket C

6、lient1=null; int i = 0; TextArea in; int port,k=0,l=0; PrintStream theOutputStream; Face chat; public Server(int port, Face chat) try this.port = port; skt = new ServerSocket(port); this.chat = chat; catch (IOException e) ; public void run() 等待连线.); while (true) try Clientk = skt.accept(); /当有客户端连接时

7、就新建一个子线程 if (i 2) ServerThread server = new ServerThread10; serverk= new ServerThread(Clientk, this.chat, i); l=server.length; serverk.start(); Clientk.getInetAddress() + 已连线n); /for(int j=0;jserver.length;j+) theOutputStream = new PrintStream(serverk.getClient().getOutputStream(); i = serverk.getI(

8、); k+; else /theOutputStream = new PrintStream(null); catch (SocketException e) catch (IOException e) ; public void dataout(String data) /for(int j=0;j + tftype.getText() + n); if (iamserver) server.dataout(tftype.getText(); else client.dataout(tftype.getText(); tftype.setText(); public void keyType

9、d(KeyEvent e) public void keyReleased(KeyEvent e) 图5.1 测试结果 通过以上测试分析可知,程序很好地完成了课题的要求,运行结果正确,利用JAVA语言的异常处理机制很好地处理了各种异常,使得程序的性能变得相对稳定,界面舒适易用,可以满足基本聊天需要! 六、调试过程中的问题程序的调试相对程序的编码复杂多了,需要很大的精力才能做好。1.问题的描述(1) JAVA语言的基本知识已具备,但是Socket网络方面还不是很了解,花了不少工夫。Socket(套接字),用于描述IP地址和端口,通信链的句柄。应用程序通常通过它向网络发出或应答请求。有Socket和ServerSocket两个类,ServerSocket用于服务器端,Socket是建立网络连

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1