?? 簡單的聊天室應用程序.txt
字號:
簡單的聊天室應用程序(客戶端和服務端)
服務端:
import java.io.*;
import java.net.*;
public class chatSvr
{
public static void main(String[] str)
{
ServerSocket soc;
Socket svrSoc;
ObjectOutputStream objOut=null;
ObjectInputStream objIn=null;
try{
System.out.println("Waiting for client's connecting...");
soc=new ServerSocket(6666);
svrSoc=soc.accept();
System.out.println("The client connected, you can Exit this program by type 'QUIT'");
objOut=new ObjectOutputStream(svrSoc.getOutputStream());
objIn=new ObjectInputStream(svrSoc.getInputStream());
}catch(Exception e){System.exit(0);}
sendMsgOut send=new sendMsgOut(objOut);
send.start();
getMsgFromClient get=new getMsgFromClient(objIn);
get.start();
}
}
class sendMsgOut extends Thread
{
ObjectOutputStream objOut=null;
public sendMsgOut(ObjectOutputStream out)
{
objOut=out;
}
public void run()
{
String strMsg="";
while(true)
{
try{
strMsg=(new BufferedReader(new InputStreamReader(System.in))).readLine();
objOut.writeObject(strMsg);
if (strMsg.equals("QUIT"))System.exit(0);
}catch(Exception e){}
//System.out.println(strMsg);
}
}
}
class getMsgFromClient extends Thread
{
ObjectInputStream objIn;
public getMsgFromClient(ObjectInputStream in)
{
objIn=in;
}
public void run()
{
String strMsg="";
while(true)
{
try{
strMsg=(String)objIn.readObject();
System.out.println("The client said:"+strMsg);
if (strMsg.equals("QUIT"))System.exit(0);
}catch(Exception e){}
}
}
}
客戶端:
import java.io.*;
import java.net.*;
public class chatClient
{
public static void main(String[] str)
{
String serverName="";
if (str.length>=1)serverName=str[0];
else {
System.out.println("You must provide a server Name you want to connect to,");
System.out.println("And run your program by input in Dos Prompt Like this:");
System.out.println("java chatClient serverName");
System.exit(0);
}
Socket cltSoc;
ObjectOutputStream objOut=null;
ObjectInputStream objIn=null;
try{
InetAddress address=InetAddress.getByName(serverName);
cltSoc=new Socket(address,6666);
objOut=new ObjectOutputStream(cltSoc.getOutputStream());
objIn=new ObjectInputStream(cltSoc.getInputStream());
System.out.println("Connected to the server successfully...");
System.out.println("If you want to exit this program, type 'QUIT' !");
}catch(Exception e){System.exit(0);}
getMsg get=new getMsg(objIn);
get.start();
sendMsg send =new sendMsg(objOut);
send.start();
}
}
class getMsg extends Thread
{
ObjectInputStream objIn;
public getMsg(ObjectInputStream in)
{
objIn=in;
}
public void run()
{
String strMsg="";
while(true)
{
try{
strMsg=(String)objIn.readObject();
System.out.println("The server said:"+strMsg);
if (strMsg.equals("QUIT"))System.exit(0);
}catch(Exception e){}
}
}
}
class sendMsg extends Thread
{
ObjectOutputStream objOut;
public sendMsg(ObjectOutputStream out)
{
objOut=out;
}
public void run()
{
String strMsg="";
while(true)
{
try{
strMsg=(new BufferedReader(new InputStreamReader(System.in))).readLine();
objOut.writeObject(strMsg);
if (strMsg.equals("QUIT"))System.exit(0);
}catch(Exception e){}
//System.out.println(strMsg);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -