zoukankan      html  css  js  c++  java
  • java 网络编程(三)---TCP的基础级示例

        下面是TCP java网络编程的基础示例:

    tcp传输:客户端建立过程的思路:
    1、创建TCP客户端的Socket服务,使用的是socket对象,建议在创建的过程中,就明确了目的地和要连接的主机
    2、如果连接建立成功,说明数据传输通道已经建立,该通道就是Socket的I/O流,是底层建立好的,既然是流,就说明有输入流,就有输出流,要换取就找socket获取相关的流即可,   getInputStream()和getOutputStream()的字节流。
    3、使用输出流,将数据输出;使用输入流,把数据输入。
    4、关闭资源。

    tcp传输:服务器端建立过程的思路:

    1、创建TCP服务端的Socket服务,通过ServerSocket对象创建。
    2、服务器端对外提供提供一个端口,否则客户端无法连接。
    3、获取连接过来的客户端对象。
    4、通过客户端对象获取socket流,读取客户端发来的数据,并打印出来
    5、关闭资源。

    客户端如下:

    public class ClientDemo {

    public static void main(String[] args) throws UnknownHostException, IOException {

    //1.创建TCP客户端的Socket服务
    Socket socket = new Socket("192.168.5.163",10000);
    //2.获取Socket的输出流
    OutputStream outputStream =socket.getOutputStream();
    //3.使用输出流将数据输出
    outputStream.write("tcp 客户端演示".getBytes());
    //4.关闭资源
    socket.close();
    }
    }

    服务器端如下:

    public class ServerDemo {

    public static void main(String[] args) throws IOException {
    //1.创建服务器对象
    ServerSocket ss = new ServerSocket(10000);

    //2.获取连接过来的客户端对象
    Socket s = ss.accept();

    String ip =s.getInetAddress().getHostAddress();

    //3.通过Socket对象获取输入流,获取客户端发送来的数据
    InputStream is =s.getInputStream();

    byte[] buf =new byte[1024];

    int len =is.read(buf);
    String testString =new String(buf,0,len);
    System.out.println( ip +"说:s" + testString);

    s.close();
    ss.close();
    }
    }

  • 相关阅读:
    【MongoDB】windows下搭建Mongo主(Master)/从(slave)数据库同步
    视图与暂时表
    Highcharts构建分组分类坐标轴
    iOS可持续化集成: Jenkins + bundler + cocoapods + shenzhen + fastlane + pgyer
    Internationalization composition diagram
    ASCII表 基本记忆 -- C
    Java内部类
    Idea过期继续激活~
    Spark SQL 用户自定义函数UDF、用户自定义聚合函数UDAF 教程(Java踩坑教学版)
    Spark源码分析之Spark-submit和Spark-class
  • 原文地址:https://www.cnblogs.com/loleina/p/5174717.html
Copyright © 2011-2022 走看看