摘要:最近在學,正好做一些筆記,以防止自己忘了。端創建綁定的與方法用于測試端接收消息本地測試打印結果
最近在學Java,正好做一些筆記,以防止自己忘了。
client端//UdpClient.java import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.net.SocketException; public class UdpClient { private static DatagramSocket clientSocket = null; private InetSocketAddress serverAddress = null; public UdpClient(String host, int port) throws SocketException { clientSocket = new DatagramSocket( ); //創建socket serverAddress = new InetSocketAddress(host, port); //綁定sever的ip與port } public void send(String msg) throws IOException { try { byte[] data = msg.getBytes("utf-8"); DatagramPacket packet = new DatagramPacket(data, data.length, serverAddress); clientSocket.send(packet); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //main方法用于測試 public static void main(String[] args) throws Exception { UdpClient client = new UdpClient("127.0.0.1", 14586); client.send("hello world"); clientSocket.close(); } }server端
//UdpServer.java import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; public class UdpServer { private byte[] data = new byte[1024]; private static DatagramSocket serverSocket = null; private DatagramPacket packet = null; public UdpServer(int port) throws SocketException { serverSocket = new DatagramSocket(port); System.out.println("sever start!"); } //接收消息 public String recieve() throws IOException { packet = new DatagramPacket(data, data.length); serverSocket.receive(packet); String info = new String(packet.getData(), 0, packet.getLength()); System.out.println("recieve message from " + packet.getAddress().getHostAddress() + ":" + packet.getPort() + " "+ info); return info; } //本地測試 public static void main(String[] args) throws Exception { UdpServer server = new UdpServer(14586); server.recieve(); } }打印結果
sever start!
recieve message from 127.0.0.1:64478 hello world
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/64110.html
摘要:上一篇,我初步整理了服務端接收日志的例子,本篇主要是對客戶端模擬操作的一個基本例子。 上一篇,我初步整理了Syslog服務端接收日志的例子,本篇主要是對客戶端模擬操作的一個基本例子。 package com.tony.util; import java.io.*; import java.net.*; /** * UDP客戶端程序,用于對服務端發送數據,并接...
摘要:這一點其實是非常不妥的,有潛在的安全問題。這次,在項目中終于采用了以它為基礎的集群方案。相反,使用一個周期,但針對每個生成一個一次性的,模擬隨機發送。同時,要記得用完之后立即釋放。 當初創建簡書賬號的時候曾立下宏愿,希望保持周更,無奈現實殘酷,整個5月都處于忙忙碌碌的狀態,居然令這個本來并不算太宏偉的目標難以為繼,最終導致5月份交了白卷!【好吧,我承認,是我意志不夠堅定,太懶了,;)】...
摘要:整個包,按照功能可以大致劃分如下鎖框架原子類框架同步器框架集合框架執行器框架本系列將按上述順序分析,分析所基于的源碼為。后,根據一系列常見的多線程設計模式,設計了并發包,其中包下提供了一系列基礎的鎖工具,用以對等進行補充增強。 showImg(https://segmentfault.com/img/remote/1460000016012623); 本文首發于一世流云專欄:https...
閱讀 2952·2023-04-26 01:52
閱讀 3478·2021-09-04 16:40
閱讀 3636·2021-08-31 09:41
閱讀 1771·2021-08-09 13:41
閱讀 570·2019-08-30 15:54
閱讀 2969·2019-08-30 11:22
閱讀 1622·2019-08-30 10:52
閱讀 955·2019-08-29 13:24