java实现tcp服务端多线程初级

这篇博客介绍了如何使用Java实现一个基础的TCP服务器,利用多线程处理客户端连接。文章通过ClientDemo和ServerDemo两个示例程序,展示了简单的TCP服务端多线程编程。后续计划对代码进行改进和优化。
摘要由CSDN通过智能技术生成

很基础的简单写了一下,后续有改进

//ClientDemo.java 客户端

package cxjj.TCPDemo;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class ClientDemo {
   
    public static void main(String[] args) throws IOException {
   
        //1 建立客户端socket
        Socket s = new Socket("192.168.43.186",10006);
        // 2 读取客户端要上传的图片
        FileInputStream fis = new FileInputStream("D:\\0.jpg");
        // 3 获取socket输出流
        OutputStream out = s.getOutputStream();
        byte [] buff = new byte[1024];
        int len = 0;
        while (( len = fis.read(buff))!= -1){
   
            out.write(buff,0
以下是一个简单的 Java TCP 服务端的示例代码: ```java import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class TCPServer { public static void main(String[] args) { try { // 创建 ServerSocket 对象,监听指定端口 ServerSocket serverSocket = new ServerSocket(8888); System.out.println("服务器已启动,等待客户端连接..."); // 等待客户端连接 Socket socket = serverSocket.accept(); System.out.println("客户端已连接,IP 地址为:" + socket.getInetAddress().getHostAddress()); // 获取客户端输入流和输出流 InputStream inputStream = socket.getInputStream(); OutputStream outputStream = socket.getOutputStream(); // 读取客户端发送的数据 byte[] buffer = new byte[1024]; int len = inputStream.read(buffer); String message = new String(buffer, 0, len); System.out.println("客户端发送的消息为:" + message); // 向客户端发送数据 String response = "欢迎您,客户端!"; outputStream.write(response.getBytes()); // 关闭连接 inputStream.close(); outputStream.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上面的代码中,我们首先创建了一个 ServerSocket 对象来监听指定的端口,然后使用 accept() 方法等待客户端的连接。一旦客户端连接成功,我们便可以通过 getInputStream() 方法获取客户端的输入流,通过 getOutputStream() 方法获取客户端的输出流。然后我们可以通过输入流读取客户端发送的数据,通过输出流向客户端发送数据。最后,我们需要关闭连接和相关资源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值