網路程式設計(1) Socket收發

2021-10-11 14:32:50 字數 1011 閱讀 1926

短連線:只進行一次收發就是短連線

長連線:傳送訊息後不關閉就是長連線,但會存在粘包等問題。

接收:可以寫入乙個迴圈一直接收

trycatch (exception e)finally 

if (outputstream!=null)

} catch (ioexception e) }}

}catch(exception e)

// 沒有關閉accept,就會一直迴圈接收訊息。

傳送端:

//傳送訊息

socket socket = new socket("127.0.0.1",8080);

outputstream outputstream = socket.getoutputstream();

string s = "你好,世界";

byte bytes = s.getbytes("utf-8");

//先傳送乙個八位的,表示此次訊息的長度。該方法貼在後邊

outputstream.write(int2bytes8(bytes.length));

outputstream.write(bytes);

//接收反饋

inputstream inputstream = socket.getinputstream();

byte bytes1 =new byte[1024];

inputstream.read(bytes1);

system.out.println("伺服器反饋:"+new string(bytes1));

inputstream.close();

outputstream.close();

將訊息長度自動補至八位:

public static byte int2bytes8(int num) 

return sb.tostring().getbytes();

}

歡迎各位大佬指點。

1 Socket網路程式設計

1.借助伺服器實現小寫轉大寫的程式 客戶端 傳送任意小寫字母到伺服器端。伺服器端 接收小寫字母,轉為大寫,回傳給客戶端,然後客戶端顯示到螢幕。結構體struct sockaddr in的標頭檔案 include toupper 函式標頭檔案 define serv ip 127.0.0.1 ip位址...

1 Socket程式設計 網路協議一

我們在傳輸資料時,可以只使用 傳輸層 tcp ip協議,但是那樣的話,如果沒有應用層,便無法識別資料內容 tcp ip只是乙個協議棧,就像程式執行一樣,必須要實現執行,同時還要提供對外的操作介面 網路從下往上分為物理層 資料鏈路層 網路層 傳輸層 會話層 表示層和應用層。ip協議對應於網路層,tcp...

Socket網路程式設計(1)

傳輸層 transport 傳輸層包括 udp 和 tcp,udp 幾乎不對報文進行檢查,而 tcp 提供傳輸保證。網路層 network 網路層協議由一系列協議組成,包括 icmp igmp rip ospf ip v4,v6 等。鏈路層 link 又稱為物理資料網路介面層,負責報文傳輸。按埠號可...