資源簡(jiǎn)介
利用JAVA實(shí)現(xiàn)C/S模式的聊天室。有助于提高JAVA的網(wǎng)絡(luò)編程能力

代碼片段和文件信息
import?java.awt.*;
import?java.awt.event.*;
import?java.io.*;
import?java.net.*;
import?java.util.*;
import?javax.swing.*;
import?java.util.*;
/**
?*?title:?HappyChat聊天系統(tǒng)服務(wù)器程序
?*?Description:?聊天服務(wù)器
?*?Copyright:?Copyright?(c)?2006
?*?友情下載:http://www.codefans.net
?*?Filename:?AppServer.java
?*?@author?劉志成
?*?@version?1.0
?*/
//封裝登錄信息
class?Customer?implements?Serializable
{
String?custName;
String?custPassword;
}
//封裝注冊(cè)信息
class?Register_Customer?extends?object?implements?java.io.Serializable
{
?????String?custName;
?????String?custPassword;
?????String?age;
?????String?sex;
?????String?email;
}
//用于發(fā)送聊天和在線用戶的信息??
class?Message?implements?Serializable
{
?? Vector?userOnLine;
?? Vector?chat;
}
//聊天信息序列化
class?Chat?implements?Serializable
{
String??chatUser;
String??chatMessage;
String??chatToUser;
boolean?whisper;
}??
//退出信息序列化
class?Exit1?implements?Serializable
{
????String?exitname;
}
//////////*創(chuàng)建服務(wù)器*//////////
public?class?AppServer?extends?Thread
{
ServerSocket?serverSocket;
Serverframe?sframe;
static?Vector?u=new?Vector(11);
static?Vector?v=new?Vector(11);
public?AppServer()
{
? sframe=new?Serverframe();
? try
? {
serverSocket?=?new?ServerSocket(1001);
//獲取服務(wù)器的主機(jī)名和IP地址
InetAddress?address?=?InetAddress.getLocalHost();??????
??? sframe.txtServerName.setText(address.getHostName());
??? sframe.txtIP.setText(address.getHostAddress());
??? sframe.txtPort.setText(“1001“);
}
catch(IOException?e)
{
fail(e“不能啟動(dòng)服務(wù)!“);
}
sframe.txtStatus.setText(“已啟動(dòng)...“);
this.start();????//啟動(dòng)線程
}
public?static?void?fail(Exception?eString?str)
{
System.out.println(str+“?。“+e);
}
//////////*監(jiān)聽客戶的請(qǐng)求*//////////
public?void?run()
{
try
{
while(true)
{
//監(jiān)聽并接受客戶的請(qǐng)求
Socket?client?=?serverSocket.accept();
????Connection?con?=?new?Connection(clientuv);???//支持多線程
}
}
catch(IOException?e)
{
fail(e“不能監(jiān)聽!“);
}
????}
????
????
????//////////*啟動(dòng)服務(wù)器*//////////
????public?static?void?main(String?args[])
????{
???? new?AppServer();
????}
}
//////////*處理線程*//////////
class?Connection?extends?Thread
{
protected?Socket?netClient;
Vector?userOnline;
Vector?userChat;
protected?objectInputStream?fromClient;??//從客戶到服務(wù)器
protected?PrintStream?toClient;?//傳導(dǎo)客戶端
static?Vector??vList?=?new?Vector();
object?obj;
public?Connection(Socket?clientVector?uVector?c)
{
netClient?=?client;
userOnline=u;
userChat=c;
try
{
//發(fā)生雙向通信
???????????????????????????????????//檢索客戶輸入
fromClient?=?new?objectInputStream(netClient.getInputStream());
???????????????????????????????????//服務(wù)器寫到客戶
toClient?=?new?PrintStream(netClient.getOutputStream());
}
catch(IOException?e)
{
try
{
netClient.close();
}
catch(IOException?e1)
{
System.out.println(“不能建立流“+
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????????2??2007-06-05?10:21??Java聊天室程序\API_doc\private\package-list
?????文件?????????57??2007-06-05?10:21??Java聊天室程序\API_doc\private\resources\inherit.gif
?????文件???????1137??2007-06-05?10:21??Java聊天室程序\API_doc\private\st
?????文件??????????2??2007-06-05?10:21??Java聊天室程序\API_doc\public\package-list
?????文件?????????57??2007-06-05?10:21??Java聊天室程序\API_doc\public\resources\inherit.gif
?????文件???????1137??2007-06-05?10:21??Java聊天室程序\API_doc\public\st
?????文件???????1926??2007-05-14?18:55??Java聊天室程序\Happychat\AppServer.class
?????文件???????9263??2009-05-11?19:06??Java聊天室程序\Happychat\AppServer.java
?????文件????????320??2007-05-14?18:55??Java聊天室程序\Happychat\Chat.class
?????文件????????297??2007-05-08?13:57??Java聊天室程序\Happychat\ChatClient.class
?????文件???????1355??2009-05-11?19:07??Java聊天室程序\Happychat\ChatClient.java
?????文件????????469??2007-05-07?21:44??Java聊天室程序\Happychat\ChatRoom$Windowclose.class
?????文件??????11811??2007-05-07?21:44??Java聊天室程序\Happychat\ChatRoom.class
?????文件??????15644??2009-05-11?19:07??Java聊天室程序\Happychat\ChatRoom.java
?????文件????????463??2007-05-07?21:44??Java聊天室程序\Happychat\Clock$1.class
?????文件???????4260??2007-05-07?21:44??Java聊天室程序\Happychat\Clock.class
?????文件???????4035??2009-05-11?19:07??Java聊天室程序\Happychat\Clock.java
?????文件???????4611??2007-05-14?18:55??Java聊天室程序\Happychat\Connection.class
?????文件????????282??2007-05-14?18:55??Java聊天室程序\Happychat\Customer.class
?????文件????????256??2007-05-08?13:57??Java聊天室程序\Happychat\Exit.class
?????文件????????256??2007-05-14?18:55??Java聊天室程序\Happychat\Exit1.class
?????文件???????3655??2004-02-10?18:06??Java聊天室程序\Happychat\images\appico.jpg
?????文件??????15101??2005-06-27?18:36??Java聊天室程序\Happychat\images\btnCancel.jpg
?????文件???????3464??2004-03-07?18:35??Java聊天室程序\Happychat\images\btnClock.jpg
?????文件??????16020??2005-06-29?21:30??Java聊天室程序\Happychat\images\btnExit.jpg
?????文件??????15817??2005-06-27?18:31??Java聊天室程序\Happychat\images\btnLogin.jpg
?????文件??????17044??2005-06-27?18:28??Java聊天室程序\Happychat\images\btnRegister.jpg
?????文件???????6325??2006-02-05?18:06??Java聊天室程序\Happychat\images\chat.jpg
?????文件???????1846??1998-04-24?00:00??Java聊天室程序\Happychat\images\CLOCK.ICO
?????文件???????9049??2009-05-04?07:06??Java聊天室程序\Happychat\images\from-download.gif
............此處省略110個(gè)文件信息
評(píng)論
共有 條評(píng)論