Socket和多线程编程的聊天程序实现.pdf
《Socket和多线程编程的聊天程序实现.pdf》由会员分享,可在线阅读,更多相关《Socket和多线程编程的聊天程序实现.pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 一、课题内容和要求 1.课题内容 基于 Socket 和多线程编程的聊天程序实现 2.课题要求 网络聊天程序设计非常复杂,允许多个人同时聊天更加需要多线程技术的支持,请实现一个简单的多线程网络聊天程序模拟。二、设计思路分析 1.在网络越来越发达的今天,人们对网络的依赖越来越强,网络聊天已经成了许多人生活中必不可少的一部分,基于这样的需求,出现了许多网络聊天通信工具,像 QQ,MSN等等,但是人们已经不再满足于单一的两个人之间的聊天,而是对多人同时聊天产生了兴趣,于是出现了网络聊天室,不同地方的人可以在那个虚拟的聊天室里面热烈聊天。基于这样的想法,我们用 JAVA 设计一个多人同时聊天的小程序
2、,用 Socket 编程实现网络通讯,面向连接的,采用多线程的实现技术。2.在程序中,可以设置加入连接的最大数目,通过更改 IP 地址和端口号,成为不同的客户端,与服务器端连接,进行多用户聊天。%3.为方便用户交互,我们采用图形化的用户界面。实现了好友添加,消息收发、显示等基本功能。三、概要设计 该网络聊天程序大致分为三个主要部分:客户端、服务器端和用户图形界面。各个部分的初步设计思想、流程及存储结构如下:1.程序整体框架:主程序监听一端口,等待客户接入;同时构造一个线程类,准备接管会话。当一个 Socket 会话产生后,将这个会话交给线程处理,然后主程序继续监听。打开 Socket 命 名!
3、监听端口 建立连接 收发消息 关闭连接¥打开 Socket 连接服务器 收发消息 ;关闭连接 服务器端程序 客户端程序 2.客户端(Client)客户端,使用 Socket 对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭 Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个端口。?3.服务器端(Server)服务器端,使用 ServerSocket 监听指定的端口,端口可以随意指定(由于 1024 以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于 1024 的端口),等待客户连接请求,客户连接后,会话产生;在完
4、成会话后,关闭连接。4.用户图形界面 用户图形界面方便程序与用户的交互,多个用户参加,完成会话功能,具体的设计要方便用户的使用,直观清晰,简洁明了,友好美观。5.存储结构 下面列出主要存储结构或变量:存储结构、变量、对象 类型*说明 post InetAddress 标识 IP 地址 Port int 标识端口 Server ServerThread 服务器端连接数 Client Socket 客户端连接数 Client(String ip,int p,Face chat)public Client 类成员函数!Public void run()Void Client、Server 类成员函数
5、 Server(int port,Face chat)public Server 类成员函数 Face()Public,Face 类成员函数 四、详细设计 代码分服务器端、客户端、和用户图形界面三部分,分别如下:1.服务器端 服务器端主要是使用 ServerSocket 类,相当于服务器 Socket,用来监听试图进入的连接,当新的连接建立后,该类为他们实例化一个 Socket 对象,同时得到输入输出流,调用相应方法完成会话。具体代码如下:package .*;!import.*;import.*;public class Server extends Thread ServerSocket
6、skt;.);while(true)try Clientk=();tart();客户端“+Clientk.getInetAddress()+已连线n);etClient().getOutputStream();i=serverk.getI();k+;else etInputStream();theOutputStream=new PrintStream();while(true)readin=();+n);catch(SocketException e)连线中断!n);户端 客户端主要是使用 Socket 类,该类是 JAVA 实现网络编程重要的基础类,实现程序间双向的面向连接的通信。调用 p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Socket 多线程 编程 聊天 程序 实现
限制150内