[英]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
对象中,您可以访问InputStream
和OutputStream
来读取和写入连接的客户端。
当您在两个系统之间进行连接时,则需要一个套接字。
一个系统的插座与另一系统的插座连接。 这两个插座都通过I / O流连接。 您可以写入此流,也可以从该流中读取。
一个系统充当服务器,另一个系统充当客户端。
由于插座是端口号的组合。 和IP,因此服务器打开其端口号。 并且客户端尝试连接服务器的IP和端口号。
为了使连接变得清洁,服务器使用accept()
函数接受传入的套接字。 accept()
函数返回一个本地套接字,该套接字连接到客户端的另一个套接字。
accept()
等到客户端套接字到达。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.