37.2 net-- tcp传输 ServerSocket、Socket

一、打开server端

package day35_net_网络编程.tcp传输;

import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

/*
 * 使用TCP协议接收数据
         创建接收端Socket对象
         监听(阻塞)
         获取输入流对象
         获取数据
         输出数据
         释放资源

     ServerSocket:接收端,服务端Socket
     ServerSocket(int port)
     Socket accept()

 */
public class ServerDemo {
    public static void main(String[] args) throws IOException {
        //创建接收端Socket对象。ServerSocket(int port)  创建绑定到特定端口的服务器套接字。
        ServerSocket ss = new ServerSocket(8888);

        //监听(阻塞)。Socket accept()  侦听并接受到此套接字的连接。 使用socket去读写数据。
        Socket s = ss.accept();

        //获取输入流对象
        InputStream is = s.getInputStream();
        //获取数据
        byte[] bts = new byte[1024];
        int len;//存储读取到的字节数组个数
        len = is.read(bts);//参看io流copy数组
        String str = new String(bts,0,len);

        //输出数据
        System.out.println(s.getInetAddress().getHostName() + "---" + str);
        //释放资源
        s.close();
//        ss.close();//服务端一般不会关闭。等待客户端的信号
    }
}

二、client端发送数据

package day35_net_网络编程.tcp传输;

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

/*
 * 使用TCP协议发送数据
        创建发送端Socket对象(创建连接)
        获取输出流对象
        发送数据
        释放资源

    Socket(InetAddress address, int port)
    Exception in thread "main" java.net.ConnectException: Connection refused: connect

 */
public class ClientDemo {
    public static void main(String[] args) throws IOException {
        //创建clink端socket对象。Socket(InetAddress address, int port) 创建一个流套接字指定目的端ip、端口。
        Socket s = new Socket(InetAddress.getByName("MININT-79LU01A"),8888);//使用本地主机名

        //获取输出流对象
        OutputStream os = s.getOutputStream();

        //发送数据
        os.write("hello,tcp 9999".getBytes());

        //释放资源
//        os.close();//对象流可以不释放由socket去释放
        s.close();
    }
}

三、输出

原文地址:https://www.cnblogs.com/longesang/p/11375628.html