TCP實(shí)現(xiàn)聊天

IO流關(guān)閉是簡(jiǎn)寫的,正常寫要判斷是否為null

服務(wù)端

package com.kang.lesson02;

import javax.swing.*;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpServerDemo01 {
    public static void main(String[] args) throws IOException {
        //1.我要有一個(gè)地址
        ServerSocket serverSocket = new ServerSocket(9999);
        //2.等待客戶端連接過(guò)來(lái)
        Socket accept = serverSocket.accept();
        //3.讀取客戶端的消息
        InputStream inputStream = accept.getInputStream();
        //管道流
        ByteArrayOutputStream baos=new ByteArrayOutputStream();
        byte[] buffer=new byte[1024];
        int len;
        while ((len=inputStream.read(buffer))!=-1){
            baos.write(buffer,0,len);
        }
        System.out.println(baos.toString());
        baos.close();
        inputStream.close();
        accept.close();
        serverSocket.close();
    }
}

客戶端

package com.kang.lesson02;

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

public class TcpClientDemo01 {
    public static void main(String[] args) throws IOException {
        //1.要知道服務(wù)器的地址
        InetAddress serverIp=InetAddress.getByName("127.0.0.1");
        //2.端口號(hào)
        int port = 9999;
        //3.創(chuàng)建socket連接
        Socket socket = new Socket(serverIp, port);
        //4.發(fā)送消息 IO流
        OutputStream outputStream = socket.getOutputStream();
        outputStream.write("你好,歡迎學(xué)習(xí)".getBytes());
        outputStream.close();
        socket.close();
    }
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容