Java Socket UDP编程

1:客户端

package com;

import java.io.IOException;
import java.net.*;

/**
 * UDP Client
 *
 * Created by Administrator on 2018/5/3.
 */
public class Client {

    public static void main(String[] args) throws IOException {

        /**
         * send message
         */
        InetAddress inetAddress = InetAddress.getByName("localhost");
        byte[] data = "name:tom, pwd:123".getBytes();
        DatagramPacket datagramPacket = new DatagramPacket(data, data.length, inetAddress, 8800);
        DatagramSocket datagramSocket = new DatagramSocket();
        datagramSocket.send(datagramPacket);

        /**
         * receive message
         */
        byte[] data2 = new byte[1024];
        DatagramPacket datagramPacket1 = new DatagramPacket(data2, data2.length);
        datagramSocket.receive(datagramPacket1);
        String info = new String(data2, 0, data2.length);
        System.out.println("I am Client, Server say:" + info);

        /**
         * close resource
         */
        datagramSocket.close();
    }
}

 

2:服务器端

package com;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

/**
 * UDP Server
 *
 * Created by Administrator on 2018/5/3.
 */
public class Server {

    public static void main(String[] args) throws IOException {

        DatagramSocket datagramSocket = new DatagramSocket(8800);

        /**
         * receive message
         */
        byte[] bytes = new byte[1024];
        DatagramPacket datagramPacket = new DatagramPacket(bytes, bytes.length);
        datagramSocket.receive(datagramPacket);
        String info = new String(bytes, 0, datagramPacket.getLength());
        System.out.println("I am Server, Client say: " + info);

        /**
         * send message
         */
        InetAddress inetAddress = datagramPacket.getAddress();
        int port = datagramPacket.getPort();
        byte[] data = "welcome!".getBytes();
        DatagramPacket datagramPacket1 = new DatagramPacket(data, data.length, inetAddress, port);
        datagramSocket.send(datagramPacket1);

        /**
         * close resource
         */
        datagramSocket.close();
    }
}

 

原文地址:https://www.cnblogs.com/jiangyi-uestc/p/8988476.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值