zoukankan      html  css  js  c++  java
  • 网络编程步骤 乔老师整理

    (一)服务器
    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();

  • 相关阅读:
    LINUX查看进程开始时间、结束时间、运行时间
    excel字符处理函数
    oracle RMAN参数配置详解
    Linux添加双IP
    免费软电话 — XLite 的安装及配置向导
    Asterisk实现寻呼对讲广播的Page()命令详解
    自动化工具的重要性
    负载均衡之应用请求路由模块的使用(ARR)(七)[使用ARR来实现主机名共享]
    负载均衡之应用请求路由模块的使用(ARR)(二)[安装]
    需求管理随笔
  • 原文地址:https://www.cnblogs.com/mrcharles/p/11879958.html
Copyright © 2011-2022 走看看