legongju.com
我们一直在努力
2025-01-31 20:02 | 星期五

Java里socket连接怎样建立

在Java中,建立Socket连接主要包括两个步骤:服务器端创建ServerSocket对象并监听指定端口,客户端创建Socket对象并连接到服务器的IP地址和端口。以下是一个简单的示例:

服务器端代码:

import java.io.*;
import java.net.*;

public class Server {
    public static void main(String[] args) throws IOException {
        int port = 12345; // 服务器监听的端口号
        ServerSocket serverSocket = new ServerSocket(port); // 创建ServerSocket对象
        System.out.println("服务器已启动,正在监听端口:" + port);

        Socket socket = serverSocket.accept(); // 等待客户端连接
        System.out.println("客户端已连接:" + socket.getInetAddress());

        InputStream inputStream = socket.getInputStream(); // 获取客户端发送的数据流
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        String message;

        while ((message = bufferedReader.readLine()) != null) {
            System.out.println("收到客户端消息:" + message);
        }

        socket.close(); // 关闭Socket连接
        serverSocket.close(); // 关闭ServerSocket对象
    }
}

客户端代码:

import java.io.*;
import java.net.*;

public class Client {
    public static void main(String[] args) throws IOException {
        String serverAddress = "localhost"; // 服务器IP地址
        int port = 12345; // 服务器监听的端口号

        Socket socket = new Socket(serverAddress, port); // 创建Socket对象并连接到服务器
        System.out.println("已连接到服务器:" + serverAddress + ":" + port);

        OutputStream outputStream = socket.getOutputStream(); // 获取服务器发送的数据流
        PrintWriter printWriter = new PrintWriter(outputStream, true);

        String message = "你好,服务器!";
        printWriter.println(message); // 向服务器发送消息
        System.out.println("已发送消息:" + message);

        socket.close(); // 关闭Socket连接
    }
}

在这个示例中,服务器端创建了一个ServerSocket对象并监听12345端口。当客户端连接到服务器时,服务器会接收到客户端的消息并在控制台输出。客户端创建一个Socket对象并连接到服务器的IP地址和端口,然后向服务器发送一条消息。

未经允许不得转载 » 本文链接:https://www.legongju.com/article/75261.html

相关推荐

  • Java编程:stdin的多线程处理

    Java编程:stdin的多线程处理

    在Java编程中,可以使用多线程来处理stdin(标准输入),以实现并发处理输入数据的功能。以下是一个简单的示例代码,演示了如何使用多线程处理stdin输入数据:

  • Java中如何实现声音的录制与播放

    Java中如何实现声音的录制与播放

    在Java中实现声音的录制与播放可以使用JavaSound API。以下是一个简单的示例代码:
    录制声音:
    import javax.sound.sampled.*; public class AudioRec...

  • Java sound编程实战技巧分享

    Java sound编程实战技巧分享

    在Java中实现音频处理和播放可以使用Java Sound API。下面是一些Java Sound编程的实战技巧: 使用AudioSystem类来获取音频输入和输出设备。可以使用getMixerInfo...

  • 如何在Java应用中集成声音功能

    如何在Java应用中集成声音功能

    在Java应用中集成声音功能可以使用Java内置的音频库javax.sound,以下是一些基本步骤: 导入javax.sound包:在代码中导入javax.sound包中的相关类。 import java...

  • Java的@override注解有哪些注意事项

    Java的@override注解有哪些注意事项

    在Java中,@Override注解主要用于指示一个方法应该重写父类中的某个方法。使用@Override注解时,有一些注意事项: 方法签名必须匹配:被重写的方法必须在父类中存...

  • Java的indexof函数在什么情况下使用

    Java的indexof函数在什么情况下使用

    在Java中,indexOf()函数主要用于在字符串或数组中查找指定元素的第一个匹配项的索引。以下是具体的使用场景: 字符串中使用:当你需要在一个字符串中查找另一个...

  • java join()方法的参数含义是什么

    java join()方法的参数含义是什么

    join() 方法在 Java 中主要用于线程之间的协作。当一个线程调用另一个线程的 join() 方法时,调用 join() 方法的线程会被阻塞,直到被 join() 的线程执行完毕或者...

  • 如何在java中使用join()等待线程完成

    如何在java中使用join()等待线程完成

    在Java中,可以使用Thread.join()方法来等待一个线程完成
    public class JoinExample { public static void main(String[] args) { // 创建一个新线程 Threa...