Pav*_*ara 3 java client-server
我了解到Server应用程序在特定端口中创建了一个ServerSocket,
ServerSocket ServerSock=new ServerSocket(9000);
Run Code Online (Sandbox Code Playgroud)
和客户端建立到服务器应用程序的套接字连接,
Socket sock=new Socket("127.0.0.1","9000");
Run Code Online (Sandbox Code Playgroud)
所以客户端知道服务器的IP地址和端口,我很困惑服务器如何以及何时获得有关客户端的知识.请帮忙.
Thanx提前!!!
服务器正在"监听"来自客户端的传入连接.想象一下,端口号是门号,服务器正在门口等候客人.
因此,当服务器应用程序执行serverSock.accept()时,它实际上会阻塞并等待客户端到达.
一旦客户端尝试连接,accept()方法将取消阻塞自身并返回另一个Socket实例,这次代表客户端.
通过这个新的Socket实例,您可以知道客户端是谁.服务器应用程序代码的一个示例是:
ServerSocket serverSock=new ServerSocket(9000);
Socket clientSock = serverSock.accept(); //this will wait for a client
System.out.println("Yay we have a guest! He's coming from " + clientSock.getInetAddress());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1184 次 |
| 最近记录: |