網路程式設計(伺服器與客戶端交流)

2021-10-19 21:51:54 字數 1609 閱讀 9855

網路程式設計

?tcp協議 c/s程式:伺服器與客戶端(b/s是網頁與客戶端)

需要使用兩個類,來編寫tcp協議的cs程式

1.serversocket 搭建伺服器

2.socket 搭建客戶端

兩方使用socket(套接字,通訊端點)進行交接

serversocket

✨構造方法:

serversocket(int port)…

//含義:建立乙個基於tcp/ip協議的伺服器,並繫結指定的埠號

注意:引數port的範圍是:0-65535 (建議1025-65535)

void close();//釋放占用的埠號,關閉伺服器

socket

兩台計算機通訊的端點,是網路驅動提供給應用程式程式設計的一種介面

✨構造方法

socket (string ip, int port)…

//建立乙個套接字,並鏈結指定ip和埠號的伺服器

引數1.伺服器的ip位址

引數2.伺服器軟體的埠號

✨常用方法:

1.無論是伺服器還是客戶端,想要發訊息就用輸出流

outputstream getoutputstream();

2.無論是伺服器還是客戶端,想要收訊息就用輸入流

inputstream getinputstream();

3.void close();關閉套接字

?分屏**示例

✨伺服器和客戶端建立連線

public

class

demo

public

class

clientdemo

}

✨伺服器與客戶端進行交流

//伺服器

public

static

void

main

(string[

] args)

throws ioexception

//客戶端

public

static

void

main

(string[

] args)

throws ioexception

注意:

在網路程式設計時, 獲取輸入輸出流的操作 ,對於客戶端與伺服器來說是相對的 客戶端的輸入流, 輸入的是伺服器的輸出流 輸出的內容.

客戶端的暑促劉, 輸出到了伺服器的輸入流中. 所以 在使用時, 需要注意以下一點規則:

客戶端與伺服器獲取流的順序必須是相反的:

例如:客戶端先得到了輸入流 , 那伺服器必須先獲取輸出流,最好是兩個執行緒,乙個執行緒負責接訊息,乙個執行緒負責發訊息

✨在伺服器中加入多執行緒

乙個伺服器不會只跟乙個客戶端交流,通常會跟多個客戶端進行交流,通過迴圈

while

(true

)catch

(ioexception e)}}

.start()

; system.out.

println

("伺服器程式執行結束");

}

網路程式設計基礎(伺服器,客戶端)

伺服器端程式設計步驟 1 建立套接字socket,初始化網路結構struct sockaddr in 2 bind繫結 伺服器必須執行此函式,客戶端可選 3 listen 設定監聽數 4 accept接受連線請求 客戶端程式設計步驟 1 建立套接字socket,初始化網路結構 2 connect向伺...

伺服器與客戶端

建立socket操作,建立流式套接字,返回套接字型大小socksrv socket socket int af,int type,int protocol 第乙個引數,指定位址簇 tcp ip只能是af inet,也可寫成pf inet socket socksrv socket af inet,s...

客戶端與伺服器

cs與bs 軟體使用方式上的兩種劃分 c s client server pc客戶端與伺服器架構 特點 在伺服器當中就主要是乙個資料庫,把所有業務邏輯都交給客戶端來完成 優點 較為安全,使用者介面豐富,客戶體驗好 缺點 每次公升級都要重新安裝,針對不同的作業系統開發,可移植性差 b sbrowser...