编程语言
首页 > 编程语言> > Java-net

Java-net

作者:互联网

Java网络编程

相关概念:


理论
实践

服务器端:

    // 1. 在本机的 9999端口监听,等待连接
    // 注意:
    // (1)要求本机没有其他服务在监听9999,否则无法通过
    // (2)当没有客户端连接时,程序会阻塞等待连接
    ServerSocket severSocket = new ServerSocket(9999);
    System.out.println("服务器正在监听9999端口...");

    // 2.如果有客户端连接,则会返回Socket对象,程序继续
    // 细节:这个 ServerSocket 可以通过accept() 返回多个Socket [多个客户端连接服务器的并发]
    Socket socket = severSocket.accept();
    System.out.println("socket = " + socket.getClass());

    // 3.通过 socket.getInputStream() 读取
    //      客户端写入到数据通道的数据,显示
    InputStream inputStream = socket.getInputStream();
    byte[] bytes = new byte[1024];
    int length = 0;
    while ((length = inputStream.read(bytes))!=-1){
        System.out.println(new String(bytes,0,length));
    }
    inputStream.close();
    socket.close();

客户端:

    //1. 连接服务器(ip,端口)
    //  连接本机的 9999 端口,连接成功则返回一个Socket对象
    Socket socket = new Socket(InetAddress.getLocalHost(), 9999);
    System.out.println("客户端连接");

    //2. 连接上后,生成Socket,通过socket.getOutputStream()
    //  得到与该套接字对应的输出流
    OutputStream outputStream = socket.getOutputStream();

    //3. 通过输出流,写入数据到数据通道
    outputStream.write("言语老是 不起作用".getBytes());
    outputStream.close();
    socket.close();

标签:Java,socket,9999,new,net,客户端,连接,Socket
来源: https://www.cnblogs.com/ffforward/p/15622001.html