java 網路程式設計socket

2021-06-09 01:42:26 字數 1843 閱讀 7884

埠號:

用於標識程序的邏輯位址,不同程序的標識

有效埠:0~65535,其中0~1024系統使用或保留埠

傳輸協議:

通訊的規則

常見協議:tcp,udp

udp:

1.將資料及源和目的封裝成資料報中,不需要建立連線

2.每個資料報的大小限制在64k內

3.因無連線,是不可靠協議

4.不需要建立連線,速度快

tcp:

1.建立連線,形成傳輸資料的通道

2.在連線中進行大資料量傳輸

3.通過三次握手完成連線,是可靠協議

4.必須建立連線,效率會稍低

udp傳輸:

.1.udp分傳送端和接收端

2.upd服務端物件都是datagramsocket,不同的是傳送資料報包和接收資料報包

傳送端:

//1.建立udp傳送端服務,通過datagramsocket物件

datagramsocket ds = new datagramsocket();

bufferedreader br = new bufferedreader(new inputstreamreader(system.in));

string line = null;

while((line = br.readline())!=null)

//4.關閉資源

ds.close();

接收端:

//1.建立udp服務,用於接收資料,通過datagramsocket

datagramsocket ds = new datagramsocket(10000);

while(true)

//5.關閉資源

tcp傳輸:

1.tcp分客戶端和服務端

2.客戶端對應的物件是socket

服務端對應的物件是serversocket

客戶端:

通過查閱socket物件,發現在該物件建立時,就可以去連線指定主機及.因為tcp是面向連線的,所以在建立socket服務時,就要有服務端存在,並連線成功,形成通路後,在該通道進行資料的傳輸

步驟:1.建立socket服務,並指定要連線的主機和埠

需求:定義端點接收資料並列印在控制台上

服務端:

1.建立服務端socket服務,serversocket();並監聽乙個埠

2.獲取連線過來的客戶端物件,通過serversocket的accept方法,沒有連線就會等,所以這個方法是阻塞式的

3.客戶端如果發過來資料,那麼服務端要使用對應的客戶端物件,並獲取到該客戶端物件的讀取流來讀取發過來的資料,並列印在控制台

4.(可選)關閉服務端

服務端:

serversocket ss = new serversocket(8888);

while(true)

客戶端:

socket socket = new socket("localhost",8888);

outputstream os = socket.getoutputstream();

os.write("wo lai la".getbytes());

inputstream is = socket.getinputstream();

bufferedreader br = new bufferedreader(new inputstreamreader(is));

string line = br.readline();

system.out.println("從伺服器返回來的資訊"+line);

system.out.println("hello world!");

java網路程式設計之SOCKET

建立物件的時候就會建立連線 try socket socket new socket time.nist.gov 13 catch ioeception ex 可選的 socket.setsotimeout 150000 從socket中讀取資料 inputstream in socket.geti...

Java網路程式設計之Socket

網路模型 tcp協議與udp協議區別 網路程式設計的本質是兩個裝置之間的資料交換,當然,在計算機網路中,裝置主要指計算機。資料傳遞本身沒有多大的難度,不就是把乙個裝置中的資料傳送給兩外乙個裝置,然後接受另外乙個裝置反饋的資料。現在的網路程式設計基本上都是基於請求 響應方式的,也就是乙個裝置傳送請求資...

java網路程式設計,socket套接字

下面是tcp的server 塊 socket的服務端 當前程式有弊端 只能為1個客戶端提供服務 public class myserversocket01 下面是客戶端 建立socket的客戶端的物件 socket socket new socket 連線伺服器,當然客戶端也可以繫結埠,如果不繫結埠...