Java Socket编程问题:TCP连接案例探析
在Java Socket编程中,TCP(Transmission Control Protocol)是一种面向连接的通信协议,用于在网络两端建立稳定的连接后进行数据传输。
以下是一个简单的TCP客户端和服务器的示例:
- 客户端(SocketServer类):
```java
import java.io.;
import java.net.;
public class Client {
public static void main(String[] args) throws IOException {
// 创建Socket对象
Socket socket = new Socket(“localhost”, 1234)); //这里的”localhost”是服务器的IP地址,1234是服务端监听的端口
// 获取输出流,用于向服务器发送数据
OutputStream outputStream = socket.getOutputStream();
// 写入数据(例如:Hello Server!)到输出流
outputStream.write("Hello Server!".getBytes());
// 关闭输出流和Socket对象,以释放资源
outputStream.close();
socket.close();
}
}
2. **服务器**(ServerSocket类):
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
// 创建ServerSocket对象,指定监听的端口
ServerSocket serverSocket = new ServerSocket(1234));
// 等待客户端连接
Socket socket = serverSocket.accept();
// 获取输入流,用于从客户端接收数据
InputStream inputStream = socket.getInputStream();
// 读取数据(例如:Hello Client!)到字节数组中
byte[] buffer = new byte[1024];
int bytesRead;
while ((bytesRead = inputStream.read(buffer))) != -1) {
String data = new String(buffer, 0, bytesRead));
System.out.println("Received: " + data);
}
// 关闭输入流和Socket对象
inputStream.close();
socket.close();
// 当服务关闭时,ServerSocket也会被关闭
serverSocket.close();
}
}
以上代码实现了客户端向服务器发送数据,以及服务器向客户端返回数据的TCP连接案例。
还没有评论,来说两句吧...