java监听某端口和ip_Java 通过Socket监听指定服务器(IP)的指定端口,及向指定服务器的指定端口发送信息...
时间: 2023-07-07 19:14:14 浏览: 95
你可以使用Java中的Socket类来监听某个端口和IP地址。下面是一个简单的示例代码:
```java
import java.net.*;
import java.io.*;
public class SocketListener {
public static void main(String[] args) throws IOException {
int port = 1234; // 监听的端口号
String ip = "127.0.0.1"; // 监听的IP地址
ServerSocket serverSocket = new ServerSocket(port, 50, InetAddress.getByName(ip));
System.out.println("Server started");
while (true) {
Socket socket = serverSocket.accept();
System.out.println("Client connected");
InputStream inputStream = socket.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String message = reader.readLine();
System.out.println("Received message: " + message);
socket.close();
System.out.println("Client disconnected");
}
}
}
```
在这个示例中,我们创建了一个ServerSocket对象来监听指定的IP地址和端口号。然后我们使用accept()方法来等待客户端的连接请求。一旦客户端连接成功,我们就可以通过Socket对象获取输入流,并使用BufferedReader读取客户端发送过来的消息。
要向指定服务器的指定端口发送信息,你可以使用Java中的Socket类的另一个实例。下面是一个简单的示例代码:
```java
import java.net.*;
import java.io.*;
public class SocketSender {
public static void main(String[] args) throws IOException {
int port = 1234; // 目标端口号
String ip = "127.0.0.1"; // 目标IP地址
Socket socket = new Socket(ip, port);
OutputStream outputStream = socket.getOutputStream();
PrintWriter writer = new PrintWriter(outputStream, true);
writer.println("Hello, server!");
socket.close();
}
}
```
在这个示例中,我们创建了一个Socket对象来连接指定的IP地址和端口号。然后我们可以通过Socket对象获取输出流,并使用PrintWriter向服务器发送消息。最后,记得关闭Socket对象。