一、伺服器端
1、建立serversocket,即伺服器端的socket,繫結指定的埠,並偵聽此埠
serversocket server = new serversocket(8888);
2、呼叫accept()方法,開始偵聽,等待客戶端的連線,在未連線成功之前,處於阻塞狀態,返回的socket,用於與客戶端連線
socket socket = server.accept();
3、獲取輸入流,用來讀取客戶端發來的資訊
inputstream is = socket.getinputstream();//位元組輸入流
inputstreamreader isr = new inputstreamreader(is);//字元輸入流
bufferedreader br = new bufferedreader(isr);//緩衝輸入流
string info = null;
while((info=br.readline()) != null)
socket.shutdowninput();//關閉輸入流
4、獲取輸出流,使用者響應客戶端的請求
outputstream os = socket.getoutputstream();//位元組輸出流
printwriter pw = new printwriter(os);//列印輸出流
pw.write("伺服器端已接受你的請求,允許登入");
pw.flush();
socket.shutdownoutput();//關閉輸出流
5、關閉資源
br.close();
isr.close();
is.close();
pw.close();
os.close();
socket.close();
server.close();
二、客戶端
1、建立客戶端socket,指定要連線的伺服器位址和埠號
outputstream os = socket.getoutputstream();//位元組流
printwriter pw = new printwriter(os);//列印流
pw.write("使用者名稱:admin;密碼:123");
pw.flush();
socket.shutdownoutput();//關閉輸出流
3、獲取輸入流,用來讀取伺服器端發來的資訊
inputstream is = socket.getinputstream();//位元組輸入流
inputstreamreader isr = new inputstreamreader(is);//字元輸入流
bufferedreader br = new bufferedreader(isr);//緩衝輸入流
string info = null;
while((info=br.readline()) != null)
socket.shutdowninput();//關閉輸入流
4、關閉資源
br.close();
isr.close();
is.close();
pw.close();
os.close();
socket.close();
基於tcp協議的socket
serve服務端 import socket sk socket.socket 例項物件 sk.bind 127.0.0.1 8080 集合內設定ip和埠,利用bind方法 sk.listen 監聽資訊 conn,addr sk.accept 接受到資訊 while true ret conn.re...
基於TCP協議的socket程式設計
什麼是socket socket是應用層與tcp ip協議族通訊的中間軟體抽象層,它是一組介面。在設計模式中,socket其實就是乙個門面模式,它把複雜的tcp ip協議族隱藏在socket介面後面,對使用者來說,一組簡單的介面就是全部,讓socket去組織資料,以符合指定的協議。所以,我們無需深入...
基於TCP協議下的socket程式設計
socket tcp ip協議中乙個埠號和乙個ip位址繫結在一起就生成乙個socket就表示了網路中唯一的乙個程序,它是全雙工的工作方式。基於tcp的socket程式設計 函式的使用 1 socket include see notes include int socket int domain,i...