• 网络编程-TCP程序实例(只是发送了数据,在服务器显示)


    package com.yyq;
    
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.InetAddress;
    import java.net.Socket;
    import java.net.UnknownHostException;
    
    /*
     * tcp传输
     * 1,tcp分为客户端和服务端
     * 2,客户端对应的对象是socket
     * 服务器端对性的对象是serversocket
     */
    /*
     * 客户端 : 该对象socket建立是,就可以去连接指定主机
     * 因为tcp是面向连接的,所以在建立socket服务时,就要有
     * 服务端存在,并连接成功,形成通路后,再该通道进行数据的传输。
     * 
     */
    /*
     * 步骤: 1,创建Socket服务,并指定要连接的主机和端口
     */
    public class TcpClient {
        public static void main(String[] args) throws Exception, IOException {
            //创建客户端的socket程序,指定目的主机和端口
            System.out.println(InetAddress.getLocalHost());
            Socket s = new Socket(InetAddress.getLocalHost(),12345);
            // 如果该步成功了,通路就建立了,这时socket流就产生了,这是就可以进行数据的读写了
            OutputStream out = s.getOutputStream();
            out.write("tcp ge".getBytes());
            s.close();
        }
    }
    
    
    
    package com.yyq;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    /*
     * 存在对应关系
     * 需求:定义端点接受数据并打印在控制台上
     * 服务端:
     *     1.建立服务器的socket服务,serversocket
     *       并监听一个端口
     *     2.获取链接过来的客户端对象,通过serversocket的accept方法
     *       没有连接就会等,所以这个方法是堵塞式的
     *       并打印在控制台
     *     3.客户端如果发来数据,那么服务端要使用对应的客户端对象,并获取到
     *       该对象的读取流来读取发过来的数据
     *     4.关闭客户端(可选)
     */
    public class TcpServer {
        public static void main(String[] args) throws IOException {
            ServerSocket ss = new ServerSocket(12345);
            Socket s = ss.accept();
            System.out.println(s.getInetAddress().getHostAddress()+"....connected");
            //该源是网络流  有了流对象之后读数据
            InputStream in = s.getInputStream();
            byte[] buf = new byte[1024];
            int len = in.read(buf);
            System.out.println(new String(buf,0,len));
            s.close(); //关闭客户端。一定是服务器关闭客户端
            //ss.close(); 关闭服务端
        }
    }
  • 相关阅读:
    Refined Architecture阶段
    大三下学期第三周总结
    信息领域热词分析的-质量属性战术-可用性战术
    Docker ------ Dockerfile初探
    Docker ------ Swarm 初探
    Docker ------ Compose 初探
    正则表达式
    CRNN模型
    Docker容器 ---- pycharm远程连接
    python tgz包安装
  • 原文地址:https://www.cnblogs.com/yangyongqian/p/5143172.html
Copyright © 2020-2023  润新知