国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

建設(shè)網(wǎng)站建站公司軟件外包公司有前途嗎

建設(shè)網(wǎng)站建站公司,軟件外包公司有前途嗎,網(wǎng)店設(shè)計與裝修,培訓(xùn)學(xué)校網(wǎng)站建設(shè)方案這一篇文章我們將講述網(wǎng)絡(luò)編程中UDP服務(wù)器客戶端的編程代碼 1、前置知識 UDP協(xié)議全稱是用戶數(shù)據(jù)報協(xié)議,在網(wǎng)絡(luò)中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包,是一種無連接的協(xié)議。 UDP的特點有:無連接、盡最大努力交付、面向報文、沒有擁塞控制 本文講…

這一篇文章我們將講述網(wǎng)絡(luò)編程中UDP服務(wù)器客戶端的編程代碼

1、前置知識

UDP協(xié)議全稱是用戶數(shù)據(jù)報協(xié)議,在網(wǎng)絡(luò)中它與TCP協(xié)議一樣用于處理數(shù)據(jù)包,是一種無連接的協(xié)議。

UDP的特點有:無連接、盡最大努力交付、面向報文、沒有擁塞控制

本文講的回響服務(wù)器是指客戶端向服務(wù)器發(fā)送一個報文,從服務(wù)器那里得到一條一模一樣的回響報文

該代碼需要在同一個包下創(chuàng)建兩個類,服務(wù)器UdpEchoServer類,客戶端UdpEchoClient類

2、服務(wù)器端代碼

(1)完整代碼

先放上完整代碼

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.nio.charset.StandardCharsets;public class UdpEchoServer {public static DatagramSocket socket = null;public UdpEchoServer(int port) throws SocketException {//手動指定服務(wù)器端口號socket = new DatagramSocket(port);}public static void start() throws IOException {while (true){System.out.println("服務(wù)器啟動");DatagramPacket requestPacket = new DatagramPacket(new byte[1024],1024);socket.receive(requestPacket);String request = new String(requestPacket.getData(),0,requestPacket.getLength());String response = process(request);DatagramPacket responsePacket = new DatagramPacket(response.getBytes(),response.getBytes().length,requestPacket.getSocketAddress());socket.send(responsePacket);System.out.printf("[%s:%d] req:%s,resp:%s",requestPacket.getAddress(),requestPacket.getPort(),request,response);System.out.println();}}public static String process(String request){return request;}public static void main(String[] args) throws IOException {UdpServer server = new UdpServer(9090);server.start();}}

(2)代碼講解

構(gòu)造方法中手動指定服務(wù)器端口號

public UdpEchoServer(int port) throws SocketException {//手動指定服務(wù)器端口號socket = new DatagramSocket(port);
}

start()方法中進(jìn)行信息的接收、處理、發(fā)送?

public static void start() throws IOException {while (true){System.out.println("服務(wù)器啟動");//創(chuàng)建接收報文,用socket進(jìn)行接收請求報文DatagramPacket requestPacket = new DatagramPacket(new byte[1024],1024);socket.receive(requestPacket);//將請求報文轉(zhuǎn)化為請求字符串,用process()方法進(jìn)行處理,得到響應(yīng)字符串String request = new String(requestPacket.getData(),0,requestPacket.getLength());String response = process(request);//將得到的響應(yīng)字符串轉(zhuǎn)化為響應(yīng)報文,并用socket進(jìn)行發(fā)送DatagramPacket responsePacket = new DatagramPacket(response.getBytes(),response.getBytes().length,requestPacket.getSocketAddress());socket.send(responsePacket);//打印客戶端IP地址和端口號信息System.out.printf("[%s:%d] req:%s,resp:%s",requestPacket.getAddress(),requestPacket.getPort(),request,response);System.out.println();}
}

process()方法

直接返回接收到的字符串

public static String process(String request){return request;
}

3、 客戶端代碼

?(1)完整代碼

import java.io.IOException;
import java.net.*;
import java.util.Scanner;public class UdpEchoClient {public static DatagramSocket socket = null;private static String ip = null;private static int port = 0;public UdpEchoClient(String ip,int port) throws SocketException {//系統(tǒng)自動為客戶端分配端口socket = new DatagramSocket();this.ip = ip;this.port = port;}public static void start() throws IOException {System.out.println("客戶端啟動!");Scanner scanner = new Scanner(System.in);while (true){System.out.print("->");String request = scanner.next();DatagramPacket requestPacket = new DatagramPacket(request.getBytes(),request.getBytes().length, InetAddress.getByName(ip),port);socket.send(requestPacket);DatagramPacket responsePacket = new DatagramPacket(new byte[1024],1024);socket.receive(responsePacket);String response = new String(responsePacket.getData(),0,responsePacket.getLength());System.out.println(response);}}public static void main(String[] args) throws IOException {UdpEchoClient client = new UdpEchoClient("127.0.0.1",9090);client.start();}
}

(2)代碼講解

客戶端由于可能有多個,所以需要系統(tǒng)自動為客戶端分配端口

當(dāng)初始化socket時,客戶端還需要記下服務(wù)器端的ip和端口?

public static DatagramSocket socket = null;
private static String ip = null;
private static int port = 0;public UdpEchoClient(String ip,int port) throws SocketException {//系統(tǒng)自動為客戶端分配端口socket = new DatagramSocket();//記錄ip和端口號this.ip = ip;this.port = port;
}

start()方法?

public static void start() throws IOException {System.out.println("客戶端啟動!");Scanner scanner = new Scanner(System.in);while (true){System.out.print("->");String request = scanner.next();//將讀取到的字符串轉(zhuǎn)化為請求報文,并用socket進(jìn)行發(fā)送DatagramPacket requestPacket = new DatagramPacket(request.getBytes(),request.getBytes().length, InetAddress.getByName(ip),port);socket.send(requestPacket);//創(chuàng)建回應(yīng)報文來接收響應(yīng)DatagramPacket responsePacket = new DatagramPacket(new byte[1024],1024);socket.receive(responsePacket);//將響應(yīng)報文轉(zhuǎn)換成字符串,并打印出來String response = new String(responsePacket.getData(),0,responsePacket.getLength());System.out.println(response);}
}

http://aloenet.com.cn/news/39772.html

相關(guān)文章:

  • 網(wǎng)站 php .net佛山網(wǎng)站建設(shè)排名
  • 建設(shè)一個網(wǎng)站app注冊推廣拉人
  • dw8做網(wǎng)站步驟圖銷售怎么找客戶源
  • 石家莊市和城鄉(xiāng)建設(shè)局網(wǎng)站今日頭條10大新聞
  • 書畫網(wǎng)站建設(shè)方案策劃百度公司電話是多少
  • 優(yōu)秀定制網(wǎng)站建設(shè)案例鎮(zhèn)江關(guān)鍵字優(yōu)化公司
  • 做網(wǎng)店好還是網(wǎng)站好鄭州網(wǎng)站優(yōu)化公司
  • 北京外包做網(wǎng)站如何報價杭州seo外包服務(wù)
  • 做pc端網(wǎng)站多少錢微信引流推廣怎么找平臺
  • 西安做網(wǎng)站南通公司開發(fā)一個平臺需要多少錢
  • 在線網(wǎng)站建設(shè)活動今天最新消息
  • 興義做網(wǎng)站網(wǎng)絡(luò)軟文推廣案例
  • 想學(xué)做網(wǎng)站可以在哪學(xué)百度手機(jī)網(wǎng)頁
  • wordpress 菜單保存在哪里設(shè)置寧波seo營銷平臺
  • 灤平縣建設(shè)局網(wǎng)站國際新聞快報
  • 深圳高端網(wǎng)站建設(shè)費用抖音seo推廣
  • 百度推廣入口登錄百度推廣關(guān)鍵詞怎么優(yōu)化
  • 電商網(wǎng)站競價推廣的策略上海知名網(wǎng)站制作公司
  • 途牛網(wǎng)站開發(fā)需求愛鏈
  • 合肥做網(wǎng)站怎么樣域名ip查詢?nèi)肟?/a>
  • 點擊網(wǎng)站二次感染即將大爆發(fā)
  • 合肥網(wǎng)站制作模板推薦游戲代理平臺一天結(jié)一次
  • 學(xué)校介紹網(wǎng)站模板優(yōu)化設(shè)計六年級下冊數(shù)學(xué)答案
  • 四川網(wǎng)站建設(shè)培訓(xùn)班銷售平臺有哪些
  • 如何做網(wǎng)站聯(lián)盟營銷湘潭網(wǎng)站設(shè)計外包服務(wù)
  • 做旅游計劃的網(wǎng)站西安百度公司地址介紹
  • 記事本做網(wǎng)站怎么不行啦網(wǎng)站建站價格
  • 龍華網(wǎng)站建設(shè)多少錢外貿(mào)營銷型網(wǎng)站制作公司
  • 遵義公司網(wǎng)站搭建多少錢北京seo招聘信息
  • web開發(fā)是做網(wǎng)站搜索引擎推廣培訓(xùn)