繁体   English   中英

server.accept()发生了什么

[英]What's happening when server.accept()

我正在尝试在服务器/客户端中编写一个简单的Java聊天应用程序。

我在server.accept()以下方法中感到困惑:

private void waitForConnection() throws IOException {
    showMessage("Waiting for someone to connect... \n");

    // `connection` is an instance of `java.net.Socket` 
    // `server` is an instance of `java.net.ServerSocket`
    connection = server.accept();
    showMessage("Now connected to " + connection.getInetAddress().getHostName());
}

请告诉我connection等于什么?

而且server.accept()返回什么?

任何帮助都会很棒。

假设您的server变量是java.net.ServerSocket那么accept()方法将返回一个java.net.Socket对象。

从返回的Socket对象中,您可以访问InputStreamOutputStream来读取和写入连接的客户端。

您的程序应暂停,直到客户端连接为止。 这就是线路connection = server.accept(); 确实。 返回类型也是Socket的类型。

那就是您的客户端的“连接”,您可以读取和写入。

检查网站了解更多关于用Java网络编程。

当您在两个系统之间进行连接时,则需要一个套接字。

一个系统的插座与另一系统的插座连接。 这两个插座都通过I / O流连接。 您可以写入此流,也可以从该流中读取。

一个系统充当服务器,另一个系统充当客户端。

由于插座是端口号的组合。 和IP,因此服务器打开其端口号。 并且客户端尝试连接服务器的IP和端口号。

为了使连接变得清洁,服务器使用accept()函数接受传入的套接字。 accept()函数返回一个本地套接字,该套接字连接到客户端的另一个套接字。

accept()等到客户端套接字到达。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM