国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

【Java】UDP發包的簡單實現

SoapEye / 2805人閱讀

摘要:最近在學,正好做一些筆記,以防止自己忘了。端創建綁定的與方法用于測試端接收消息本地測試打印結果

最近在學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客戶端UDP發送日志

    摘要:上一篇,我初步整理了服務端接收日志的例子,本篇主要是對客戶端模擬操作的一個基本例子。 上一篇,我初步整理了Syslog服務端接收日志的例子,本篇主要是對客戶端模擬操作的一個基本例子。 package com.tony.util; import java.io.*; import java.net.*; /** * UDP客戶端程序,用于對服務端發送數據,并接...

    Eidesen 評論0 收藏0
  • RPC框架是啥?

    摘要:知乎的點贊,應該還是可以參考的。除了網絡通信,還需要有高效的序列化框架,以及一種尋址方式,如果是帶會話狀態的調用,還需要有會話的狀態保持的功能。一般來說,框架實現的架構原理都是類似的。服務端響應主要是服務端業務邏輯實現。 本博客 貓叔的博客,轉載請申明出處 在我剛剛了解分布式的時候,經常對RPC和分布式有些混淆,甚至一直以為兩者對等,所以我們先看看他們有什么區別? RPC實現了服務消費...

    xietao3 評論0 收藏0
  • RPC框架是啥?

    摘要:知乎的點贊,應該還是可以參考的。除了網絡通信,還需要有高效的序列化框架,以及一種尋址方式,如果是帶會話狀態的調用,還需要有會話的狀態保持的功能。一般來說,框架實現的架構原理都是類似的。服務端響應主要是服務端業務邏輯實現。 本博客 貓叔的博客,轉載請申明出處 在我剛剛了解分布式的時候,經常對RPC和分布式有些混淆,甚至一直以為兩者對等,所以我們先看看他們有什么區別? RPC實現了服務消費...

    didikee 評論0 收藏0
  • Vert.x入坑須知(2)

    摘要:這一點其實是非常不妥的,有潛在的安全問題。這次,在項目中終于采用了以它為基礎的集群方案。相反,使用一個周期,但針對每個生成一個一次性的,模擬隨機發送。同時,要記得用完之后立即釋放。 當初創建簡書賬號的時候曾立下宏愿,希望保持周更,無奈現實殘酷,整個5月都處于忙忙碌碌的狀態,居然令這個本來并不算太宏偉的目標難以為繼,最終導致5月份交了白卷!【好吧,我承認,是我意志不夠堅定,太懶了,;)】...

    xialong 評論0 收藏0
  • Java多線程進階(一)—— J.U.C并發包概述

    摘要:整個包,按照功能可以大致劃分如下鎖框架原子類框架同步器框架集合框架執行器框架本系列將按上述順序分析,分析所基于的源碼為。后,根據一系列常見的多線程設計模式,設計了并發包,其中包下提供了一系列基礎的鎖工具,用以對等進行補充增強。 showImg(https://segmentfault.com/img/remote/1460000016012623); 本文首發于一世流云專欄:https...

    anonymoussf 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<