Java聊天程序的设计

Java聊天程序的设计

ID:35606217

大小:127.00 KB

页数:7页

时间:2019-03-31

Java聊天程序的设计_第1页
Java聊天程序的设计_第2页
Java聊天程序的设计_第3页
Java聊天程序的设计_第4页
Java聊天程序的设计_第5页
资源描述:

《Java聊天程序的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《Java程序设计》Java聊天程序的设计班级姓名学号指导教师日期:2012年11月第7页共7页一、课程目的根据学过的相关内容,主要是利用Java的流、多线程和网络的功能,并根据需要结合数据库,编写一个简单的网络通讯程序,有连接(Socket)的通讯。来加深对JAVA中各个知识点的理解。二、实验内容及过程:①本通讯设备运用的是mysql,java支持的数据库,建立数据库,数据库名为mychat,数据库中共有两个表tablet_user、chatrecord。建表的sql语句为:其中编号字段为自动增加。createdatabasemychat;usemychat;cre

2、atetablet_user(idintegernotnullauto_increment,ipvarchar(30),usernamevarchar(30),primarykey(id));createtablechatrecord(idintegernotnullauto_increment,useridvarchar(30),contentvarchar(300),primarykey(id));②服务器端程序如下:服务器与客户间通过套接口(Socket)连接。在java中通过套接口比较简单,JavaAPI为处理套接口的通信提供了一个类java.net.Sock

3、et使得编写网络应用程序比较简单,服务器采用多线程以满足多用户的请求,通过JDBC与后台数据库连接,并建立一个ServerSocket对象来监听来自客户端的连接请求,默认端口为8765,主要的代码如下:publicstaticfinalintPORT=8765;publicServerThread(){clients=newVector();messages=newVector();try{serverSocket=newServerSocket(PORT);}catch(IOExceptione){}try{myIpadd

4、ress=InetAddress.getLocalHost();}catch(UnknownHostExceptione){}ip=String.valueOf(myIpaddress);Server.jTextArea1.append("服务器地址"+ip+":"+String.valueOf(serverSocket.getLocalPort())+"");broadCase=newBroadCase(this);broadCase.start();}第7页共7页publicvoidrun(){while(true){try{Socketsocket=serv

5、erSocket.accept();ClientThreadclientThread=newClientThread(socket,this);clientThread.start();if(socket!=null){synchronized(clients){clients.addElement(clientThread);}}}catch(IOExceptione){System.out.println("发生异常"+e);System.out.println("建立客户端联机失败");System.exit(2);}}}③客户端程序如下:客户通过Socket(

6、InetAddress.port)建立与服务器的连接。服务器与客户通过构造通过BufferedReader,PrintWriwer来建立输入输出流,然后双方通过该输入输出流来相互传递信息,一旦受到客户端的连接请求,服务器返回一个新建的Socket对象。客户端然后向服务器发送消息。比如登录,服务器收到客户端的请求后,针对不同的消息进行处理请求,在客户端中输入用户名,进入聊天。主要的代码如下:publicstaticvoidmain(String[]args){Clientclient=newClient();client.setDefaultCloseOperation

7、(JFrame.EXIT_ON_CLOSE);}publicvoidrun(){while(true){try{chat_in=in.readUTF();DbServicedbs=newDbService();dbs.saveMessage(jTextField1.getText(),chat_in);jTextArea1.append(chat_in);}catch(IOExceptione){System.out.println("intheclient");e.printStackTrace();}}}④保存聊天记录,主要是便于查看每个人的聊天

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。