美文网首页
基于UDP协议的socket编程示例

基于UDP协议的socket编程示例

作者: bboymonk | 来源:发表于2017-03-10 12:07 被阅读0次

客户端

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

public class LoginClient {
    public static void main(String[] args) {
        String info = "你好,我想咨询一个问题";
        byte[] infos = info.getBytes();
        //IP地址获取方法
        InetAddress ia;
        DatagramSocket socket =null;
        try {
            ia = InetAddress.getByName("localhost");
            DatagramPacket dp = new DatagramPacket(infos, infos.length, ia, 5000);
            socket = new DatagramSocket();
            socket.send(dp);
             
            //接收服务端信息
            byte[] replys = new byte[1024];
            DatagramPacket dp1 = new DatagramPacket(replys,replys.length);
            socket.receive(dp1);
            String reply = new String(dp1.getData(),0,dp1.getData().length);
            System.out.println("服务器说:"+reply);
             
             
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (SocketException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            socket.close();
        }
         
         
         
    }
}

服务器端

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketAddress;
import java.net.SocketException;


public class LoginService {
    public static void main(String[] args) {
        DatagramSocket socket = null;
        byte[] info = new byte[1024];
        DatagramPacket dp = new DatagramPacket(info, info.length);
        try {
            socket = new DatagramSocket(5000);
            socket.receive(dp);
            
            String infos = new String(dp.getData(), 0, dp.getData().length);
            System.out.println("客户端说:"+infos);
            
            //给客户端一个响应
            String reply = "你好,有什么问题请说";
            SocketAddress sa = dp.getSocketAddress();
            DatagramPacket dp1 = new DatagramPacket(reply.getBytes(), 0, reply.getBytes().length, sa);
            socket.send(dp1);
            
            
        } catch (SocketException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            socket.close();
        }
        
    }
}

相关文章

  • 网络编程

    网络 Socket 基于TCP协议的Socket编程 基于UDP协议的Socket编程

  • 基于UDP协议的socket编程示例

    客户端 服务器端

  • Java中的UDP编程

    Java中的UDP编程 Java为我们提供了DatagramSocket对象作为基于UDP协议的Socket,可以...

  • 趣谈网络协议干货-Socket

    Socket是基于TCP和UDP协议的编程。Socket编程进行的是端到端的通信,往往意识不到中间经过多少局域网,...

  • Day18总结

    一.网络通信过程TCP协议和UDP协议二.socket编程 1.socket编程定义:socket又叫套接字。指的...

  • Java socket

    Java Socket实现基于TCP和UDP多线程通信Java Socket编程

  • 网络模型

    socket网络编程 socket分为tcp协议和udp协议: udp: 1.面向无连接,将数据源封装在数据包中,...

  • socket到底是什么

    socket是对TCP/UDP协议的封装的接口,socket本身并不是协议。Http是基于socket之上的,通过...

  • Socket + ProtoBuf

    TCP/UDP 进行Socket编程, 常见使用的协议UDP/TCPTCP:传输控制协议 。是专门设计用于在不可靠...

  • iOS面试题:socket 连接和 Http 连接的区别

    http 是基于 socket 之上的。socket 是一套完整的 tcp,udp协议的接口。 HTTP协议:简单...

网友评论

      本文标题:基于UDP协议的socket编程示例

      本文链接:https://www.haomeiwen.com/subject/zevngttx.html