Socket程式設計

2021-08-19 23:35:34 字數 1565 閱讀 5560

一、osi參考模型

分層:應用層

表示層會話層

傳輸層網路層

資料鏈路層

物理層二、ip位址

ip位址唯一標識一台計算機。ip位址包含網路位址和主機位址兩部分。

三、埠

埠是計算機與外界通訊的入口和出口,範圍是0~65535(2的16次冥-1)。

在同一臺計算機上,任何兩個程序不能同時使用乙個同乙個埠。

但是,乙個埠可以被多個執行緒訪問。

四、tcp/ip協議

1、tcp/ip協議簇,簡稱為tcp/ip協議。

2、tcp是面向連線的,可靠的,全雙工的,基於位元組流的傳輸層通訊協議。

3、udp是無連線的,不可靠的,資料報協議。udp主要的作用是:壓縮。它將網路資料壓縮成資料報的形式。

五、socket類

1、構造方法

1.1  socekt s= new socket(hostname,port);

1.2  socket s= new socket(address,port);

2、主要方法:

1)int getport:返回遠端埠

2) int  getlocalport :返回本地埠

3)getinputstream

4)getoutputstream

六、socketserver類

1、構造方法

1.1  socketserver  ss= new socketserver(port);

1.2  socketserver  ss= new socketserver(port,maxqu);  //maxqu:最大連線數

2、主要方法:

1)accept 等待客戶端發起通訊,監聽狀態

七、inetaddress類

1、主要方法

1.1   inetaddress  getlocalhost()  :返回本地主機的inetaddress物件

1.2   inetaddress  getbyname(string hostname)  :返回指定主機名hostname對應的inetaddress物件

1.3  inetaddress  getallbyname(string hostname):返回指定主機名hostname對應的所有可能的inetaddress物件

八、基於udp協議的socket程式設計

datagrampacket:資料容器

datagramsocket:傳送或接收。它不會產生輸入、輸出流。

注意:基於udp通訊的兩個程式之間的關係,是對等的,無主次之分。

8.1、datagrampacket 類

8.1.1 datagrampacket 類的構造方法

datagrampacket dp= new datagrampacket(sendstr.getbytes(), 0, sendstr.getbytes().length, ia,9070);

byte getdata():返回位元組陣列,也就是包中的資料。

8.2.datagramsocket常用方法

8.2.1  send方法

8.2.2  receive方法

socket程式設計

一直以為serversocket accept之後客戶端才能發資訊,實驗後得出如下結論 1 serversocket沒有accept時,client是可以傳送資訊到server端的。2 serversocket accept之後,正在處理訊息時,client也是可以傳送資訊到server端。如果se...

Socket程式設計

對tcp ip udp socket程式設計這些詞你不會很陌生吧?隨著網路技術的發展,這些詞充斥著我們的耳朵。那麼我想問 1.什麼是tcp ip udp?2.socket在 呢?3.socket是什麼呢?4.你會使用它們嗎?什麼是tcp ip udp?tcp ip transmission cont...

socket程式設計

建立socket 建立乙個 socket,它可用於在基於 tcp ip 的網路 如 internet 上通訊。socket s new socket addressfamily.internetwork,sockettype.stream,protocoltype.tcp 若要使用 udp 而不是 ...