三,socket通訊
1.這個人寫的關於socket通訊不錯,循序漸進式的講解,用**示例說明,運用流和socket進行遠端通訊
2.最簡單的socket是乙個服務端對應乙個客戶端
server的寫法
serversocket server = new
serversocket(
10000
);
socket socket = server.accept();
bufferedreader in = new
bufferedreader(
newinputstreamreader(socket.getinputstream()));
printwriter out = new
printwriter(socket.getoutputstream());
while
(true
)
} socket.close();
client的寫法
socket socket = new
socket(
"localhost"
, 10000
);
bufferedreader in = new
bufferedreader(
newinputstreamreader(socket.getinputstream()));
printwriter out = new
printwriter(socket.getoutputstream());
bufferedreader reader = new
bufferedreader(
newinputstreamreader(system.in));
while
(true
)
system.out.println(in.readline());
} socket.close();
3.複雜一點的就是多個客戶端同時訪問伺服器。在客戶端使用迴圈啟動多個客戶端訪問同一服務端,在服務端只要
server.accept()一接收到就新建執行緒,然後把把上面的讀寫操作放進執行緒內處理。
4.如果要利用socke傳遞物件,就要讓物件實現
serializable 序列化介面,使用objectinputstream和objectoutputstream進行序列化和反序列化
server的寫法
objectinputstream is = null
; objectoutputstream os = null
; try
catch
(ioexception ex)
} catch
(ioexception ex) catch
(ioexception ex)
} catch
(ioexception ex)
bytes = baos.tobytearray();
object obj = serializableutil.toobject(bytes);
myrequestobject = (myrequestobject)obj;
senddata(socketchannel socketchannel, myresponseobject myresponseobject)
throws
ioexception
bytes = baos.tobytearray();
object obj = serializableutil.toobject(bytes);
myresponseobject = (myresponseobject) obj;
socketchannel.socket().shutdowninput();
return
myresponseobject;
上面的例子都需要先執行server再執行client。
Python網路程式設計學習筆記一 socket模組
coding utf 8 主要測試python網路程式設計中socket模組的使用 涉及到的技術點 套接字 面向連線的還有非面向連線套接字 tcp面向連線 udp非面向連線 1 匯入socket 2 建立socket socket三要素 1 socket family,2 socket type 3...
Java學習筆記(三)
物件導向高階 集合和例外都是物件導向的核心內容。物件導向高階 修飾符 static 可修飾變數 屬性 可修飾方法 可修飾 塊。static int data語句說明data為類變數,為乙個類的共享變數,屬於整個類。int data為例項變數。例 static int data m1.data 0 m...
java 學習筆記 陣列(三)
標籤 在電腦科學中,陣列資料結構 英語 array data structure 簡稱陣列 英語 array 是由相同型別的元素 element 的集合所組成的資料結構,分配一塊連續的記憶體來儲存。利用元素的索引 index 可以計算出該元素對應的儲存位址。靜態初始化基本型別 int array 靜...