Java函数实现网络编程中的TCPSocket通信的例子?
发布时间:2023-06-15 00:10:44
在Java编程中,实现网络编程中的TCPSocket通信需要使用Java中的Socket类和ServerSocket类,这两个类可以让Java程序实现对TCP协议的socket通信。接下来,我将通过一个简单的例子来演示如何实现网络编程中的TCPSocket通信。
首先,我们需要创建一个服务器端程序,以便接收来自客户端的Socket请求。以下是服务器端程序的代码:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8888);
System.out.println("服务器已启动,等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接");
InputStream inputStream = socket.getInputStream();
byte[] buffer = new byte[1024];
int len;
len = inputStream.read(buffer);
String message = new String(buffer, 0, len);
System.out.println("收到客户端消息:" + message);
OutputStream outputStream = socket.getOutputStream();
outputStream.write("你好,客户端".getBytes());
inputStream.close();
outputStream.close();
socket.close();
serverSocket.close();
}
}
在这段代码中,我们创建了一个ServerSocket对象,并指定了监听的端口号。然后,我们通过调用accept()方法来等待客户端的连接请求。当客户端与服务器建立连接后,我们使用InputStream对象来接收客户端发送过来的消息,并使用OutputStream对象将消息发送回客户端。
下面我们来看看客户端程序的代码:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class TCPClient {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1", 8888);
OutputStream outputStream = socket.getOutputStream();
outputStream.write("你好,服务器".getBytes());
InputStream inputStream = socket.getInputStream();
byte[] buffer = new byte[1024];
int len;
len = inputStream.read(buffer);
String message = new String(buffer, 0, len);
System.out.println("收到服务器消息:" + message);
outputStream.close();
inputStream.close();
socket.close();
}
}
在客户端程序中,我们创建了一个Socket对象,并指定要连接的IP地址和端口号。通过OutputStream对象,我们可以向服务器发送消息。然后,我们使用InputStream对象来接收服务器发送过来的消息,并将其打印到控制台上。
通过上述例子,我们可以了解到实现TCP协议的Socket通信需要使用Socket类和ServerSocket类。我们可以利用这两个类来创建一个服务器端和一个客户端,使它们可以相互通信,达到网络通信的目的。
