国产美女一级毛片精品久久久|婷婷影院在线综合免费视频|最新国产午夜精品视频成人|久久精品九九无码免费

java關(guān)于多線程的部分操作

來源:北大青鳥飛迅校區(qū)|發(fā)布時間:2013-04-27 18:39:12

一般服務(wù)器端代碼,每次收到一個線程,一個client就會產(chǎn)生:

/************************ 開始監(jiān)聽 **************************/

int port = 4311;

ServerSocket server = null;//服務(wù)器

Socket client = null;//客戶端

try {

server = new ServerSocket(port);

} catch (IndirectionException e1) {

System.out.println(“正在監(jiān)聽。..”);

}

while(true)

{

System.out.println(“等待客戶”+i);

i++;

try {

client = server.accept();//開始監(jiān)聽線程,接收到client

System.out.println(“客戶地址:” + client.getInetAddress());

} catch (IOException e1) {

System.out.println(“正在等待客戶”);

}

}

客戶端代碼,啟動之后便會連接服務(wù)器,得到回應(yīng)之后便會形成socket連接

Socket clientsocket = null;

try {

clientsocket = new Socket(“localhost”,4311);

} catch (UnknownHostException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

-

socket的輸入和輸出一般用流來相互寫。

in.read()和out.write(),

in.readObject()和out.writeObject(object)。

客戶端的一個線程里面同時new了多個ObjectOutputStream流是不允許的,其它的流可以。ObjectOutputStream有鎖機制。

如果是一般的輸入和輸出流的話用:

DateOutputStream out = null;

DateInputStream in = null;

//獲得輸入輸出流

try {

out=new DateOutputStream(socket.getOutputStream());

in=new DateInputStream(socket.getInputStream());

} catch (IOException e2) {

// TODO Auto-generated catch block

e2.printStackTrace();

}

如果是對象上的輸入和輸出的話用:

ObjectOutputStream out = null;

ObjectInputStream in = null;

//獲得輸入輸出流

try {

out=new ObjectOutputStream(socket.getOutputStream());

in=new ObjectInputStream(socket.getInputStream());

} catch (IOException e2) {

// TODO Auto-generated catch block

e2.printStackTrace();

}

如果復(fù)雜之后,可以是服務(wù)器啟動之后對每個客戶端啟動一個線程與客戶端的線程進行交互。

上一篇:深入Java對象及元素的存儲區(qū)域
下一篇:Java里如何應(yīng)用Json格式數(shù)據(jù)

熱門話題

招生熱線: 4008-0731-86 / 0731-82186801

學校地址: 長沙市天心區(qū)團結(jié)路6號

Copyright © 2006 | 湖南大計信息科技有限公司 版權(quán)所有

湘ICP備14017520號-3

關(guān)注我們
在線咨詢
嘿,我來幫您!