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();

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    TypeScript 里的 module 概念
    SAP Spartacus Definition of Done
    SAP Commerce Cloud 新一代 UI Spartacus 和 Customer Data cloud 的集成
    关于 SAP Spartacus 和 SmartEdit 集成的问题
    Linux Boot,Kernel 和 Service 介绍
    Linux 的发展历史,设计哲学和一些常用的术语介绍
    SAP Fiori Elements 公开课第三单元学习笔记
    SAP Fiori Elements 公开课第二单元视频的台词和课程主要内容
    SAP Fiori Elements 公开课第二单元学习笔记:Fiori Elements 架构
    qt-事件处理的方式
  • 原文地址:https://www.cnblogs.com/mrcharles/p/4731772.html
Copyright © 2011-2022 走看看