zoukankan      html  css  js  c++  java
  • TCP通信程序

    TCP通信原理
    TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象, 从而在通信的两端形成网络虚拟链路,
    一旦建立 了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信。


    Java对基于TCP协议的的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信
    Java为客户端提供了Socket谈,为服务器端提供了ServerSocket类

    TCP发送数据


    TCP发送数据的步骤
    ①创建客户端的Socket对象(Socket)
      Socket(String hqst, int port)
    ②获取输出流,写数据
      OutputStream getOutputStream0
    ③释放资源
      void close(

    public class Socket
    extends Object
    implements Closeable
    该类实现客户端套接字(也称为“套接字”)。 套接字是两台机器之间通讯的端点。
    package com.ThreadTest;
    /*
        TCP发送数据的步骤
            1:创建客户端的Socket对象(Socket)
            2:获取输出流,写数据
            3:释放资源
    
     */
    
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.Socket;
    
    
    public class ClientDemo {
        public static void main(String[] args) throws IOException {
    //        1:创建客户端的Socket对象(Socket)
    //        Socket​(InetAddress address, int port) 创建流套接字并将其连接到指定IP地址的指定端口号。
    //    Socket s = new Socket(InetAddress.getByName("192.168.1806"),10000);
    //        Socket​(String host, int port) 创建流套接字并将其连接到指定主机上的指定端口号。
            Socket s = new Socket("192.168.18.6", 10000);
    
            //获取输出流,写数据
    //        Socket类下面的方法 public OutputStream getOutputStream​() throws IOException返回此套接字的输出流。
            OutputStream os = s.getOutputStream();
            os.write("我来了,hello,TCP".getBytes());
    
            //释放资源
            s.close();
        }
    }

    TCP接收数据

    ServerSocket​(int port)
    创建绑定到指定端口的服务器套接字。

    TCP接收数据的步骤
    ①创建服务 器端的Socket对象(ServerSocket)
      ServerSocket(int port)
    ②监听客户端连接, 返回一个Socket对象
      Socket accept()
    ③获取输入流, 读数据,并把数据显示在控制台
      InputStream getInputStream()
    ④释放资源
      void close()

    package com.ThreadTest;
    /*
    TCP接收数据的步骤
    
            1:创建服务器端的Socket对象(ServerSocket)
            2:获取输入流,读数据,并把数据显示在控制台
            3:释放资源
    
     */
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class ServerDemo {
        public static void main(String[] args) throws IOException {
    //        1:创建服务器端的Socket对象(ServerSocket)
    //        ServerSocket​(int port) 创建绑定到指定端口的服务器套接字。
            ServerSocket ss = new ServerSocket(10000);
    
    //        2 accept​() 侦听要连接到此套接字并接受它。
            Socket s = ss.accept();
    //        3:获取输入流,读数据,并把数据显示在控制台
            InputStream is = s.getInputStream();
            byte[] bys = new byte[1024];
            int len;
            while ((len = is.read(bys)) != -1) {
                System.out.println("数据是:" + new String(bys, 0, len));
            }
            //4 释放资源
            ss.close();
    
    
        }
    }
  • 相关阅读:
    linux command ubuntu
    C++ project
    windows command line
    vi command
    C++ Language
    postgresql backup
    C Language
    L1-046. 整除光棍(模拟除法)
    pta 拯救007(Floyd)
    CCF 201609-4 交通规划
  • 原文地址:https://www.cnblogs.com/lsswudi/p/11439973.html
Copyright © 2011-2022 走看看