java.net.Socket 用法
时间: 2023-03-24 16:01:09 浏览: 160
Java.net.Socket 是 Java 语言中用于实现网络通信的类,它提供了一种在网络上进行数据传输的机制,可以用于构建客户端和服务器端应用程序。
要使用 Java.net.Socket 类,通常需要遵循以下步骤:
1. 创建一个 Socket 对象。在创建 Socket 对象时需要指定要连接的服务器地址和端口号。
2. 使用 Socket 对象建立连接。在连接建立之前,Socket 对象会尝试连接指定的服务器地址和端口号。如果连接建立成功,Socket 对象会返回一个输入流和一个输出流,可以用于在客户端和服务器端之间传输数据。
3. 使用输入流和输出流进行数据传输。在建立连接后,可以使用输入流和输出流进行数据传输。可以使用输入流从服务器端读取数据,也可以使用输出流向服务器端发送数据。
4. 关闭 Socket 连接。在数据传输完成后,需要关闭 Socket 连接以释放资源。可以使用 Socket 对象的 close() 方法来关闭连接。
下面是一个简单的示例,演示如何使用 Java.net.Socket 类来连接一个服务器,并向服务器发送数据:
```java
import java.net.*;
import java.io.*;
public class SocketExample {
public static void main(String[] args) throws IOException {
String serverName = "localhost";
int port = 8080;
try {
System.out.println("Connecting to " + serverName + " on port " + port);
Socket client = new Socket(serverName, port);
System.out.println("Just connected to " + client.getRemoteSocketAddress());
OutputStream outToServer = client.getOutputStream();
DataOutputStream out = new DataOutputStream(outToServer);
out.writeUTF("Hello from " + client.getLocalSocketAddress());
InputStream inFromServer = client.getInputStream();
DataInputStream in = new DataInputStream(inFromServer);
System.out.println("Server says " + in.readUTF());
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在上面的示例中,我们首先创建了一个 Socket 对象,并指定要连接的服务器地址和端口号。然后,我们使用 Socket 对象的 getOutputStream() 方法获取一个输出流,并使用 DataOutputStream 对象向服务器发送一条消息。接下来,我们使用 Socket 对象的 getInputStream() 方法获取一个输入流,并使用 DataInputStream 对象从服务器接收一条消息。最后,我们使用 Socket 对象的 close() 方法关闭连接。
阅读全文