java socket服务端接收消息
时间: 2023-07-09 11:53:45 浏览: 115
socketService.txt
在Java中,使用Socket实现网络通信,可以很方便地创建客户端和服务器端程序。下面是一个例子,演示如何创建一个TCP服务器并接收客户端发送的消息:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
// 创建服务器端Socket对象
ServerSocket serversocket = new ServerSocket(9999);
System.out.println("Waiting for client connection...");
while (true) {
// 等待客户端连接
Socket clientsocket = serversocket.accept();
System.out.println("Connected from: " + clientsocket.getRemoteSocketAddress());
// 接收客户端消息
BufferedReader in = new BufferedReader(new InputStreamReader(clientsocket.getInputStream()));
String message = in.readLine();
System.out.println("Received from client: " + message);
// 关闭连接
clientsocket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码创建了一个TCP服务器,监听本地的9999端口,当有客户端连接时,接收客户端发送的消息并打印出来,然后关闭连接。需要注意的是,在接收客户端消息时,使用了BufferedReader类的readLine方法,可以一次性读取一行文本数据。
创建TCP客户端也很简单,可以使用Socket对象的getOutputStream方法发送消息:
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
// 创建客户端Socket对象
Socket clientsocket = new Socket("localhost", 9999);
// 发送消息
OutputStream out = clientsocket.getOutputStream();
String message = "Hello, server!";
out.write(message.getBytes());
// 关闭连接
clientsocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码创建了一个TCP客户端,并连接到本地的9999端口,向服务器发送一条消息"Hello, server!",然后关闭连接。需要注意的是,在发送消息时,使用了OutputStream类的write方法,可以将字节数组写入输出流中。
阅读全文