欢迎来到天天文库
浏览记录
ID:35440217
大小:78.44 KB
页数:12页
时间:2019-03-24
《聊天程序设计实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、XXX大学专业名称软件工程实验室2号实验楼201室实验课程JAVA高级程序设计实验名称姓名聊天程序设计(客户端、服务端)学号同组人员无实验日期2013年12月12日一.实验目的掌握基于TCP、UDP协议的聊天服务器端与客户端程序设讣,常握Socket,ServerSocket,DatagramSocket,DatagramPacket类的使用。二、实验原理TCP和UDP协议的支持。ServerSocket和Socket的使用□三、实验内容对方IP:实验截图127.0.0.1我2013-12-1321:37:25瞬!TA2013-12-1321:37:25请问IP:127.
2、0.0.15200代码importjava.awt.Point;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.io.PrintWriter;importjavaServerSocket;importjava.net.Socket;importjava.text・DateFo”mat;importjava.util>Date;importjava.util.HashMap;importjava.util.Vector;impo
3、rtjava.util.logging.Level;importjava.util.logging.Logger;/****@authorHsidar*/publicclassTalkHomeextendsjavax.swing.DFrame{privateServerSocketserver;privateinttalkHigh=0;privatechar[]chatBuf=newchar[2048];privateStringchatlpAddress="127.0.0.1";privatefinalintchatPort=5200;privateHashMap4、ring,VectorxIMessage〉〉chatRecordsMap;//privateHashMapchatRecordHMap;publicTalkHome(){initComponents();chatRecordsMap=newHashMap>();//chatRecordHMap=newHashMap();try{server=newServersocket(Integer.vatueO/(chatPort));}tatch(IOException5、ex){Logger•getLogger(TalkHome•class•getName())•log(Level.SEVERE^null,ex);}newThread(newRunnable(){@Overridepublicvoidrun(){while(true){try{Socketsocket=server.accept();BufferedReadersin=newBufferedReader(newInputStreamReader(socket•getlnputStream()));inttmp_len=-1;StringBuilderchatStrBuil6、der=newStringBuilder();while((tmp_len=sin.read(chatBuf))!={chatStrBuilder•append(chatBuf,0,tmp_len);}addMessage(socket.getInetAddress()•getHostAddress()chatStrBuilder・toString()false);sin・close();socket・close();}catch(IOExceptionex){Logger•getLogger(TalkHome•class•getName())•log(Level.SEI7、/E/?E^null,ex);}}}}).start();}privatevoidreChatWindow(StringipAddress){System.ou右•pr^intln(ipAddress);VectordMessage〉chatRecords=chatRecordsMap.get(ipAddress);jTextAreal.setText(”“);if(chatRecords==null){chatRecords=newVector();chatRecordsMap.put(ipAddress
4、ring,VectorxIMessage〉〉chatRecordsMap;//privateHashMapchatRecordHMap;publicTalkHome(){initComponents();chatRecordsMap=newHashMap>();//chatRecordHMap=newHashMap();try{server=newServersocket(Integer.vatueO/(chatPort));}tatch(IOException
5、ex){Logger•getLogger(TalkHome•class•getName())•log(Level.SEVERE^null,ex);}newThread(newRunnable(){@Overridepublicvoidrun(){while(true){try{Socketsocket=server.accept();BufferedReadersin=newBufferedReader(newInputStreamReader(socket•getlnputStream()));inttmp_len=-1;StringBuilderchatStrBuil
6、der=newStringBuilder();while((tmp_len=sin.read(chatBuf))!={chatStrBuilder•append(chatBuf,0,tmp_len);}addMessage(socket.getInetAddress()•getHostAddress()chatStrBuilder・toString()false);sin・close();socket・close();}catch(IOExceptionex){Logger•getLogger(TalkHome•class•getName())•log(Level.SEI
7、/E/?E^null,ex);}}}}).start();}privatevoidreChatWindow(StringipAddress){System.ou右•pr^intln(ipAddress);VectordMessage〉chatRecords=chatRecordsMap.get(ipAddress);jTextAreal.setText(”“);if(chatRecords==null){chatRecords=newVector();chatRecordsMap.put(ipAddress
此文档下载收益归作者所有