UDP協議接收資料與傳送資料

2021-07-30 05:22:29 字數 2862 閱讀 4434

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...