zoukankan      html  css  js  c++  java
  • Java : java基础(5) Socket网络编程

    使用 DatagramSocket 创建一个 UDP协议的Socket, 用DatagramPacket创建一个数据包,可以指定ip和端口号以及包的数据,用socket.send()可以发送这个数据包,代码实例:

    String str = "这是数据";
    DatagramSocket socket = new DatagramSocket();
    DatagramPacket packet = new DatagramPacket(str.getBytes(), str.getBytes().length, InetAddress.getByName("127.0.0.1"), 6666);// 指定接收端口
    socket.send(packet);
    socket.close();

    接收数据示例: 使用receive()方法接收数据包, getData() 获取字节数据.

    DatagramSocket socket = new DatagramSocket(6666);// 指定本地端口
    DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);
    socket.receive(packet);
    byte[] arr = packet.getData();
    System.out.println(new String(arr));
    socket.close();

    TCP协议的socket直接用 Socket类创建,例如: 可以直接用 getInputStream()获取输入流接收数据, 用getOutputStream()输出流发送

    Socket socket = new Socket("127.0.0.1", 6666);
    OutputStream os = socket.getOutputStream();
    InputStream in = socket.getInputStream();

    服务端需要使用 ServerSocket类来创建,使用accept()方法来获取一个请求的socket,剩下的操作也是一样.如:

    ServerSocket serverSocket = new ServerSocket(6666);
    Socket socket = serverSocket.accept();
    InputStream is = socket.getInputStream();
    OutputStream os = socket.getOutputStream();
  • 相关阅读:
    数据库的架构和优化
    描述一个高性能高可靠的网站架构——如何设计一个秒杀系统
    PHP手册-函数参考-加密扩展
    系统性能指标总结
    PHP实现负载均衡的加权轮询
    PHP生成二维码
    高性能网站架构
    PHP实现Redis的数据结构和LFU/LRU
    缓存的设计及PHP实现LFU
    网络开发库从libuv说到epoll
  • 原文地址:https://www.cnblogs.com/cccy0/p/9785548.html
Copyright © 2011-2022 走看看