在網路通訊協議下不同計算機上執行的程式,可以進行資料傳輸
ip位址
ip位址可以唯一標識網路中的裝置
埠埠號可以標識裝置中的應用程式
協議常見udp 、tcp
方法名說明
datagramsocket()
建立資料報套接字並將其繫結到本機位址上的任何可用埠
datagrampacket(byte buf,intlen,inetaddress add,int port)
建立資料報,傳送長度為len的資料報到指定主機的指定埠
方法名說明void send(datagrampacket p)
傳送資料報包
void close()
關閉資料報套接字
void receive(datagrampacket p)
從此套接字接受資料報包
/*
步驟:
1.建立傳送端的socket物件
2.建立資料,把資料打包
3.呼叫datagramsocket物件的方法send()傳送資料
4.關閉
*/public
class
senddemo
}
2,udp接收資料
方法名說明datagrampacket(byte buf, int len)
建立乙個datagrampacket用於接收長度為len的資料報
方法名說明byte getdata()
返回資料緩衝區
int getlength()
返回要傳送的資料的長度或接收的資料的長度
public
class
receivedemo
}
方法名
說明socket(inetaddress address,int port)
建立流套接字並將其連線到指定ip指定埠號
socket(string host, int port)
建立流套接字並將其連線到指定主機上的指定埠號
方法名說明inputstream getinputstream()
返回此套接字的輸入流
outputstream getoutputstream()
返回此套接字的輸出流
public
class
clientdemo
}
方法名
說明servletsocket(int port)
建立繫結到指定埠的伺服器套接字
方法名說明socket accept()
監聽要連線到此的套接字並接受它
四次揮手
}案例分析:
建立客戶端物件, 建立位元組輸入流繫結上傳的檔案,每讀一次資料向伺服器輸出一次資料,輸出後使用shutdownoutput()方法,告知伺服器傳入結束
關閉
// 客戶端
public
class
clientdemo
bos.
flush()
;//給伺服器乙個結束標記,告訴伺服器檔案已經傳輸完畢
socket.
shutdownoutput()
; bufferedreader br =
newbufferedreader
(new
inputstreamreader
(socket.
getinputstream()
)); string line;
while
((line = br.
readline()
)!=null)
bis.
close()
; socket.
close();}}
// 伺服器
public
class
serverdemo
bufferedwriter bw =
newbufferedwriter
(new
outputstreamwriter
(accept.
getoutputstream()
)); bw.
write
("上傳成功");
bw.newline()
; bw.
flush()
; bos.
close()
; accept.
close()
; ss.
close();}}
python網路程式設計 udp和tcp
udp伺服器import socket s socket.socket socket.af inet,socket.sock dgram s.bind 192.168.1.103 8888 while true data,addr s.recvfrom 1024 print s s str addr...
網路程式設計 UDP丶TCP
2.接收方 3.傳送方 二.tcp 2.伺服器端 3.客戶端 udp 面向無連線通訊 傳送端不需接收端確認是否能接收 資料不安全,效率高 1.常用方法 inetaddress datagrampacket datagramsocket 2.接收方 測試時應先啟動接收方,再啟動傳送方 用於接收資料的緩...
網路程式設計 TCP與UDP
tcp transmission control protocol 傳輸控制協議 是一種面向連線的 可靠的 基於位元組流的傳輸層通訊協議,由ietf的rfc 793定義。當客戶和伺服器彼此交換資料前,必須先在雙方之間建立乙個tcp連線,之後才能傳輸資料。tcp提供超時重發,丟棄重複資料,檢驗資料,流...