udp:
把資料打包
資料有限制
不建立連線
速度快不可靠
一些需要用到的方法:
inetaddress 類:
tring gethostaddress() 返回 ip 位址字串(以文字表現形式)。
string gethostname() 獲取此 ip 位址的主機名。
static inetaddress getbyname(string host) 在給定主機名的情況下獲取主機的 ip 位址物件
//static inetaddress getbyname(string host) 在給定主機名的情況下獲取主機的 ip 位址物件
inetaddress address = inetaddress.getbyname("192.168.1.104");
// string gethostname() 獲取此 ip 位址的主機名。
string name = address.gethostname();
// tring gethostaddress() 返回 ip 位址字串(以文字表現形式)
string ip = address.gethostaddress();
system.out.println(name + "---" + ip);
輸出:192.168
.1.104---192.168
.1.104
udp協議接收端:
1:建立接收端socket物件
2:建立乙個資料報(接收容器)
3:呼叫socket物件的接收方法接收資料
4:解析資料報
5:釋放資源
public
static
void
main(string args) throws ioexception
輸出:192.168
.1.104:我是傳送端
udp協議傳送端:
1:建立傳送端socket物件
2:建立資料,並把資料打包
3:呼叫socket物件的傳送方法傳送資料報
4:釋放資源
// 建立傳送端socket物件
// datagramsocket() 構造資料報套接字並將其繫結到本地主機上任何可用的埠。
datagramsocket ds = new datagramsocket();
// 構造資料報包,用來將長度為 length 的包傳送到指定主機上的指定埠號
// datagrampacket(byte buf, int length, inetaddress address, int port)
// 建立資料
byte bys = "我是傳送端".getbytes();
// 長度
int length = bys.length;
// 接收端ip位址物件
inetaddress address = inetaddress.getbyname("192.168.1.104");
// 接收端埠
int port =11521;
datagrampacket dp = new datagrampacket(bys, length, address, port);
// 呼叫socket物件的傳送方法傳送資料報
// public void send(datagrampacket p) 從此套接字傳送資料報包。
ds.send(dp);
// 釋放資源
ds.close();
}
多執行緒實現接收端(伺服器),傳送端
接收端(伺服器)
public
class
receivedemo
implements
runnable
@override
public
void
run()
} catch (exception e)
}}
傳送端
public
class
senddemo
implements
runnable
@override
public
void
run()
datagrampacket dgp = new datagrampacket(line.getbytes(),
line.getbytes().length,
inetaddress.getbyname("192.168.1.104"), 11211);
sendds.send(dgp);
} catch (ioexception e)
}sendds.close();
}}
開啟接收端
public
class service
}輸出:
傳送端ip:192.168
.1.104 內容:1-11
傳送端ip:192.168
.1.104 內容:2-11
開啟2個傳送端
public
class client2
}輸入:
2-11
public
class client1
}輸入:
1-11
TCP協議接收與傳送資料
tcp 建立連線通道 資料無限制 速度慢可靠 tcp協議傳送資料 1 建立傳送端的socket物件 這一步如果成功,就說明連線已經建立成功了。2 獲取輸出流,寫資料 3 釋放資源 public static void main string args throws ioexception tcp協議...
C 接收和傳送UDP資料
除了點對點,通常udp資料的傳遞方式有兩種,一種是broadcast,一種是multicast。中文一般把它們翻譯作廣播和組播。前者是簡單的在區域網裡面廣播 後者是借助路由器將資料傳送到包括英特網在內的任何多個位址。在c 裡面,處理udp通訊最簡單的方法就是使用udpclient。具體使用方法我也不...
udp網路程式 傳送 接收資料
建立乙個基於udp的網路程式流程很簡單,具體步驟如下 建立客戶端套接字 傳送 接收資料 關閉套接字 如下 coding utf 8 from socket import 1.建立udp套接字 udp socket socket af inet,sock dgram 2.準備接收方的位址 192.16...