【網絡編程】-- 04 UDP

網絡編程

6 UDP

6.1 初識Tomcat

服務端

  • 自定義 S
  • Tomcat S

客戶端

  • 自定義 C
  • 瀏覽器 B

6.2 UDP

6.2.1 udp實現發送消息

接收端:

package com.duo.lesson03;import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;public class UdpServerDemo1 {public static void main(String[] args) throws Exception {//開放端口DatagramSocket datagramSocket = new DatagramSocket(9090);//接收數據包byte[] buffer = new byte[1024];DatagramPacket datagramPacket = new DatagramPacket(buffer, 0, buffer.length);datagramSocket.receive(datagramPacket);  //阻塞接收System.out.println(datagramPacket.getAddress().getHostAddress());System.out.println(new String(datagramPacket.getData(), 0, datagramPacket.getLength()));//關閉連接datagramSocket.close();}
}

發送端:

package com.duo.lesson03;import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;//UDP不需要連接服務器
public class UdpClientDemo1 {public static void main(String[] args) throws Exception {//1.建立一個Socket用于發送包DatagramSocket datagramSocket = new DatagramSocket();//2.建一個包String msg = "您收到一條新消息";InetAddress inetAddress = InetAddress.getByName("localhost");int port = 9090;DatagramPacket datagramPacket = new DatagramPacket(msg.getBytes(), 0, msg.getBytes().length, inetAddress, port);//3.發送包datagramSocket.send(datagramPacket);//4.關閉流datagramSocket.close();}
}

運行結果:

image-20231208110004629

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/213221.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/213221.shtml
英文地址,請注明出處:http://en.pswp.cn/news/213221.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【論文極速讀】LVM,視覺大模型的GPT時刻?

【論文極速讀】LVM,視覺大模型的GPT時刻? FesianXu 20231210 at Baidu Search Team 前言 這一周,LVM在arxiv上剛掛出不久,就被眾多自媒體宣傳為『視覺大模型的GPT時刻』,筆者抱著強烈的好奇心,在繁忙工作之…

m.2固態硬盤怎么選擇?

一、什么是固態硬盤 固態硬盤又稱SSD,是Solid State Drive的簡稱,由于采用了閃存技術,其處理速度遠遠超過傳統的機械硬盤,這主要是因為固態硬盤的數據以電子的方式存儲在閃存芯片中,不需要像機械硬盤那樣通過磁頭讀寫磁…

linux查看筆記本電池健康情況

本人的老電腦,筆記本x1 carbon 5th 用久了,電池不行了,實際容量只有27.657%,充電到40%的時候,一瞬間彪滿100%。到某寶淘了一個 model: 01AV430的電池,等更換了再看看使用情況 $ upower --help 用法:upower…

Linux 安裝 中間件 Tuxedo

安裝步聚 一、首先,下載中間件安裝包: tuxedo121300_64_Linux_01_x86 Tuxedo下載地址: Oracle Tuxedo Downloads 二、新建Oracle用戶組(創建Oracle用戶時,需要root權限操作,登陸) [rootloca…

【CiteSpace】引文可視化分析軟件CiteSpace下載與安裝

CiteSpace 譯“引文空間”,是一款著眼于分析科學分析中蘊含的潛在知識,是在科學計量學、數據可視化背景下逐漸發展起來的引文可視化分析軟件。由于是通過可視化的手段來呈現科學知識的結構、規律和分布情況,因此也將通過此類方法分析得到的可…

【Spring教程23】Spring框架實戰:從零開始學習SpringMVC 之 SpringMVC簡介與SpringMVC概述

目錄 1,SpringMVC簡介2、SpringMVC概述 歡迎大家回到《Java教程之Spring30天快速入門》,本教程所有示例均基于Maven實現,如果您對Maven還很陌生,請移步本人的博文《如何在windows11下安裝Maven并配置以及 IDEA配置Maven環境》&…

python使用vtk與mayavi三維可視化繪圖

VTK(Visualization Toolkit)是3D計算機圖形學、圖像處理和可視化的強大工具。它可以通過Python綁定使用,適合于科學數據的復雜可視化。Mayavi 依賴于 VTK (Visualization Toolkit),一個用于 3D 計算機圖形、圖像處理和可視化的強大…

AS安裝目錄

編輯器: sdk: gradle: gradle使用的jdk目錄:Gradle使用的jdk是android studio安裝目錄下的jbr 成功項目的android studio配置:

H264碼流結構

視頻編碼的碼流結構是指視頻經過編碼之后得到的二進制數據是怎么組織的,或者說,就是編碼后的碼流我們怎么將一幀幀編碼后的圖像數據分離出來,以及在二進制碼流數據中,哪一塊數據是一幀圖像,哪一塊數據是另外一幀圖像。…

C++面試寶典第4題:合并鏈表

題目 有一個鏈表,其節點聲明如下: struct TNode {int nData;struct TNode *pNext;TNode(int x) : nData(x), pNext(NULL) {} }; 現給定兩個按升序排列的單鏈表pA和pB,請編寫一個函數,實現這兩個單鏈表的合并。合并后,…

scheduleatfixedrate詳解

scheduleatfixedrate詳解 大家好,我是免費搭建查券返利機器人賺傭金就用微賺淘客系統3.0的小編,也是冬天不穿秋褲,天冷也要風度的程序猿!在Java開發中,我們常常需要執行定時任務,并且需要保證任務按照一定…

使用Java實現基數排序算法

文章目錄 基數排序算法 基數排序算法 (1)基本思想:將整數按位數切割成不同的數字,然后按每個位數分別比較。 (2)排序過程:將所有待比較數值(正整數)統一為同樣的數位長…

Vuex快速上手

一、Vuex 概述 目標:明確Vuex是什么,應用場景以及優勢 1.是什么 Vuex 是一個 Vue 的 狀態管理工具,狀態就是數據。 大白話:Vuex 是一個插件,可以幫我們管理 Vue 通用的數據 (多組件共享的數據)。例如:購…

VSCode SSH登錄服務器 提示XHR failed

設置->搜索“代理” 把圖中的√去掉 重啟 即可

OVS主線流程

OVS是open virtual switch的簡稱,是現在廣泛使用的軟件實現的虛擬網絡交換機。 各大云廠商普遍使用OVS來實現自身的虛擬網絡,各廠商會根據自身需要加以修改使之符合自身需求,DPU中也使用OVS來實現流表的offload。OVS中的流表基于多級結構&am…

變相增大BatchSize——梯度累積

常規訓練方式 for x,y in train_loader:pred model(x)loss criterion(pred, label)# 反向傳播loss.backward()# 根據新的梯度更新網絡參數optimizer.step()# 清空以往梯度,通過下面反向傳播重新計算梯度optimizer.zero_grad() pytorch每次forward完都會得到一個…

tidb安裝 centos7單機集群

安裝 [rootlocalhost ~]# curl --proto https --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh | sh [rootlocalhost ~]# source .bash_profile [rootlocalhost ~]# which tiup [rootlocalhost ~]# tiup playground v6.1.0 --db 2 --pd 3 --kv 3 --host 192.168.1…

按這個套路寫的年底工作總結,運維人能少背多少鍋?

在職場中,年終工作總結是一項重要的任務,不僅有助于回顧過去一年的工作成果,也為未來設定新的目標提供了參考。在進行年終工作總結的過程中,合理的工作匯報是至關重要的一環。 一、匯報需要堅守的4個法則 01.線索必須單一 觀點&am…

js實現元素可拖拽方法

業務需要:Vueelement plus實現對彈框進行拖拽,并可拖拽到顯示頁面的外面,而element提供的拖拽只能在當前頁面不可超出。所以手寫了拖拽方法。 實現效果 對元素進行拖拽 拖拽方法 function dragElement(ele) {ele.addEventListener("mous…

SQL自學通之函數 :對數據的進一步處理

目錄 一、目標 二、匯總函數 COUNT SUM AVG MAX MIN VARIANCE STDDEV 三、日期/時間函數 ADD_MONTHS LAST_DAY MONTHS_BETWEEN NEW_TIME NEXT_DAY SYSDATE 四、數學函數 ABS CEIL 和FLOOR COS、 COSH 、SIN 、SINH、 TAN、 TANH EXP LN and LOG MOD POW…