• 网络编程步骤 乔老师整理


    (一)服务器
    1.新建服务器套接字,指定端口号
    ServerSocket ss = new ServerSocket(端口号);

    2.服务器等待客户端的连接
    ,如果连接成功则创建一个套接字对象
    Socket socket = ss.accept();

    3.依据创建出的Socket对象构建输入输出流与客户端交互
    InputStream in = socket.getInputStream();
    OutputStream out = socket.getOutputStream();

    4.读取流中的消息
    in.read()
    4.发送消息
    out.write()

    1. 关闭流 in.close() out.close()
      关闭socket.close()
      关闭ss.close()

    (二)客户端
    1. 创建套接字连接服务器
    Socket socket = new Socket(“服务器IP”,端口号);
    2. 构建输入输出流与服务器交互
    InputStream in = socket.getInputStream();
    OutputStream out = socket.getOutputStream();
    3. 读取或发送数据
    3.1读取流中的消息
    in.read()
    3.2发送消息
    out.write()
    4. 关闭流 in.close() out.close()
    关闭socket.close()

    UDP
    (一)服务器
    1.新建数据报套接字
    DatagramSocket ds = new DatagramSocket(端口号);
    2.新建用于接收的数据报
    byte[] buf = new byte[长度];
    DatagramPacket dp = new DatagramPacket(buf,buf.length);
    3.接收客户端发来的消息
    ds.receive(dp);
    4.处理数据报中的消息
    buf = dp.getData();
    //把字节数组转换成字符串
    String str = new String(buf);
    5.反馈消息给客户端(可选)
    String answer = “反馈的消息”;
    InetAddress ia = dp.getAddress();//客户端的地址
    int port = dp.getPort();//客户端的端口号
    DatagramPacket dpSend =
    new DatagramPacket(str.getBytes(),str.getBytes().length
    ,ia,port);
    ds.send(dpSend);//发送消息给客户端
    6.关闭服务器
    ds.close();

    (二)客户端
    1.新建数据报套接字
    DatagramSocket ds = new DatagramSocket();
    2.新建用于发送的数据报
    String msg = “需要发送的数据”;
    //获取服务器地址
    InetAddress ia = InetAddress.getByName(“IP地址”);
    int port = 20000;//服务器端口号
    DatagramPacket dp
    = new DatagramPacket(msg.getBytes()
    ,msg.getBytes().length,ia,port);
    3.发送消息到服务器
    ds.send(dp);

    4.新建用于接收的数据报
    byte[] buf = new byte[长度];
    DatagramPacket dp = new DatagramPacket(buf,buf.length);
    5.接收服务器发来的消息
    ds.receive(dp);
    6.处理数据报中的消息
    buf = dp.getData();
    //把字节数组转换成字符串
    String str = new String(buf);

    7.关闭服务器
    ds.close();

  • 相关阅读:
    Bullet 学习笔记之 btPersistentManifold 及 btManifoldPoint
    Bullet 学习笔记之 btCollisionWorld::performDiscreteCollisionDetection
    Bullet 学习笔记之 btCollisionWorld
    hdu 6617
    codeforces 1247 E
    GYM 101174 A
    GYM 100714 G
    codeforces 1239 C
    牛客挑战赛33D
    codeforces 1238 E
  • 原文地址:https://www.cnblogs.com/mrcharles/p/11879958.html
Copyright © 2020-2023  润新知