📌  相关文章
📜  教资会网络 | UGC NET CS 2015 年六月 – II |问题 9(1)

📅  最后修改于: 2023-12-03 15:26:03.446000             🧑  作者: Mango

UGC NET CS 2015 年六月 – II |问题 9

该题目涉及到计算机网络和Java编程语言。在此题目中,需要求出TCP连接在Java中实现的方式,并描述其使用方法。

TCP连接在Java中实现的方式

Java中使用Socket类实现TCP连接。下面给出一个简单的TCP客户端代码。

import java.io.*;
import java.net.*;

public class TCPClient {
    public static void main(String[] args) throws IOException {

        String serverHostname = new String ("127.0.0.1");

        Socket echoSocket = null;
        PrintWriter out = null;
        BufferedReader in = null;

        try {
            echoSocket = new Socket(serverHostname, 7);
            out = new PrintWriter(echoSocket.getOutputStream(), true);
            in = new BufferedReader(new InputStreamReader(
                                        echoSocket.getInputStream()));
        } catch (UnknownHostException e) {
            System.err.println("Don't know about host: " + serverHostname);
            System.exit(1);
        } catch (IOException e) {
            System.err.println("Couldn't get I/O for "
                               + "the connection to: " + serverHostname);
            System.exit(1);
        }

    BufferedReader stdIn = new BufferedReader(
                                   new InputStreamReader(System.in));
    String userInput;

    System.out.print("input: ");
    while ((userInput = stdIn.readLine()) != null) {
        out.println(userInput);
        System.out.println("echo: " + in.readLine());
        System.out.print("input: ");
    }

    out.close();
    in.close();
    stdIn.close();
    echoSocket.close();
    }
}
TCP连接的使用方法
连接到服务器

我们使用Socket类的构造方法来连接到服务器。它有两个参数:服务器的IP地址和端口号。下面是一个样例代码:

String serverHostname = new String ("127.0.0.1");
Socket echoSocket = null;
try {
    echoSocket = new Socket(serverHostname, 7);
    // ...
} catch (UnknownHostException e) {
    System.err.println("Don't know about host: " + serverHostname);
    System.exit(1);
} catch (IOException e) {
    System.err.println("Couldn't get I/O for "
                       + "the connection to: " + serverHostname);
    System.exit(1);
}
发送和接收数据

为了发送数据,我们使用Socket类中的getOutputStream()方法获取输出流,然后使用PrintWriter类中的print()方法发送数据。接收数据的操作类似,首先获取输入流,然后使用BufferedReader的readLine()方法读取数据。

out = new PrintWriter(echoSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(
                                echoSocket.getInputStream()));
// ...
out.println(userInput);
System.out.println("echo: " + in.readLine());
关闭与服务器的连接

在完成数据传输后,我们需要关闭与服务器的连接。我们使用Socket类的close()方法关闭连接。

out.close();
in.close();
echoSocket.close();
总结

到此为止,我们介绍了TCP连接在Java中的实现方式及其使用方法。这里给出了一个简单的TCP客户端代码,程序员们可以根据此代码进行修改和拓展,实现自己的应用。