加值服務
住戶搜尋
心情貼
直播
感興趣
手機交友
還沒登入愛情公寓嗎?
還沒加入愛情公寓嗎?
馬上進入公寓和
10,554,501
個住戶交朋友~
最新留言
想聊天
對我感興趣
互相感興趣
想約會
逗一下
日記留言
紅包抽抽樂!小資變土豪!
素人也能成為明日之星!
移除此區廣告請加入VIP
檔案狀態:
住戶編號:
1669198
噗噗熊
的日記本
快速選單
到我的日記本
看他的最新日記
加入我的收藏
瀏覽我的收藏
請問這魔術教學的西洋歌名字
《前一篇
回他的日記本
切換閱讀模式
回應
給他日記貼紙
給他愛的鼓勵
檢舉
檢舉原因
此為詐騙帳號
此為廣告帳號
此為援交帳號
他未滿18歲
此為不雅及騷擾留言帳號
其他
篇名:
Java-MSNSever
作者:
噗噗熊
日期: 2009.09.23 天氣:
心情:
import java.net.*;
import java.io.*;
import java.util.*;
public class MSNSever{
//↓設定存入Client端的所有相關物件
public static Vector v=new Vector();
public static void main(String[] args)throws IOException{
//↓建立連線服務的Port
SeverSocket ss=new SeverSocket(8080);
while(true){ //←建立多人連線
//↓等待並允許Client端連線
Socket cs=ss.accept();
GetConnect r=new GetConnect(cs.v);
Thread t=new Thread(r);
t.start();
}
}
}
class GetConnect implements Runnable{
private Socket cs;
private Vector v;
BufferedReader br;//←設定取得Client端的訊息
PrintWriter Out; //←設定傳至Client端的訊息
private String name = ""; //←取的目前連線的Client端暱稱
private String End = ""; //←結束Server端的服務
GetConnect(Socket cs,Vector v){
this.cs=cs;
this.v=v;
this.End=End;
}
//Client端連線中斷
void ExitConnect(){
v.remove(this);
SendMsg("ClientOut");
System.out.println(name+"已離開");
if(End.equals("End")){
System.out.println("即時通訊服務結束");
System.exit(0);
}
}
public void run(){
try{
br=new BufferedReader(new InputStreamReader(cs.getInputStream()));
Out=new PrintWriter(cs.getOutputStream(),true);
//Socket cs=ss.accept();
Out.println("歡迎光臨~~\n");
Out.println("請輸入暱稱\n");
name = br.readLine();
Out.println("Hi"+name+"您可以盡情聊天啦~~\n");
SendMsg("Clientln");
v.add(this);
while(true){
String str=br.readLine();
if(str==null){
br.close();
break;
}
else if(str.equals("End")){
End = str;
Out.println("即時通訊服務結束");
System.out.println("結束");
br.close();
break;
}
SendMsg(str);
}
cs.close();
}
catch(IOException ie){
System.err.println(ie);
}
ExitConnect();
}
String End(){
return End;
}
void SendMsg(String str){
try{
ListIterator it=v.listIterator();
while(it.hasNext()){
GetConnect gc=(GetConnect)it.next();
String getIn;
if(str.equals("ClientOut"))
getIn=name + "離線了~\n";
else if(str.equals("ClientIn"))
getIn=name + "上線了~\n";
else
getIn=name + "說 :"+str+"\n";
Socket tempSocket = gc.cs;
PrintWriter pOut = new PrintWriter(tempSocket.getOutputStream(),true);
pOut.println(getIn);
System.out.println(getIn);
}
}
catch(IOException ie){
System.err.println(ie);
}
}
}
標籤:
瀏覽次數:
54
人氣指數:
254
累積鼓勵:
10
切換閱讀模式
回應
給他日記貼紙
給他愛的鼓勵
檢舉
檢舉原因
此為詐騙帳號
此為廣告帳號
此為援交帳號
他未滿18歲
此為不雅及騷擾留言帳號
其他
給本文愛的鼓勵:
最新愛的鼓勵
給本文貼紙:
得到的貼紙
得到的貼紙:
給本文貼紙
本日記尚未得到貼紙
請問這魔術教學的西洋歌名字
《前一篇
回他的日記本