任何人都可以請解釋我如何accept()方法工作。它返回什麼?它是否在服務器端創建一個新的套接字?它是否返回在客戶端創建的套接字的引用?我很困惑。如果有人可以提供幫助,這將非常有幫助。ServerSocket接受()方法
-1
A
回答
2
ServerSocket.accept()
等待/塊,直到客戶端連接,建立連接,並返回其可用於與所述客戶端進行通信的服務器端Socket
對象(客戶端具有Socket
對象以及)
1
從Java API documentation of ServerSocket:
監聽連接將這個接口實現的,並接受它。 方法阻塞,直到建立連接。
一個新的Socket
s
創建 ,如果有安全管理,安全管理器的 checkAccept方法被調用s.getInetAddress().getHostAddress()
和s.getPort()
爲 參數,以確保允許該操作。這可能導致 SecurityException。你
也可以找到關於它的一個很好的教程:here
0
從javadoc:
public Socket accept() throws IOException
監聽連接進行到此套接字和接受它。該方法會阻塞,直到建立連接。
一個新的Socket
s
創建,如果有安全管理,安全管理器的checkAccept
方法被調用s.getInetAddress().getHostAddress()
和s.getPort()
作爲參數,以確保允許該操作。這可能導致SecurityException
。
總之,如果您設置ServerSocket
聽您的計算機/設備上的特定端口上,它會自動接受第一個遠程客戶端試圖連接到它。 A Socket
已返回,您可以使用它的InputStream
和OutputStream
來鎖定以發送和接收數據。
相關問題
- 1. Java Serversocket不接受連接
- 2. 藍牙ServerSocket不接受
- 3. 的ServerSocket接受的行爲
- 4. ServerSocket接受方法 - 如何將其轉換爲子類型?
- 5. ServerSocket accept()方法
- 6. ServerSocket接受()不接受Android上的連接
- 7. 如果關閉ServerSocket,ServerSocket接受的套接字是否也會關閉?
- 8. Java - 無法連接ServerSocket
- 9. ServerSocket的最佳方法Java
- 10. Accept(),close()方法在ServerSocket上
- 11. Android Serversocket似乎不接受仿真器上的連接
- 12. 的Android的ServerSocket接受作爲WiFi熱點
- 13. Java主線程不會喚醒ServerSocket接受
- 14. ServerSocket不接受在機器人模擬器
- 15. 無法將Starscream WebSocket連接到Java ServerSocket
- 16. 爲什麼java serversocket有setrecievebuffersize方法?
- 17. 如何中斷ServerSocket的accept()方法?
- 18. 接受null的擴展方法的可接受名稱
- 19. 如果ServerSocket接受連接,它是否繼續等待進一步的請求?
- 20. Serversocket接受更多的連接,因爲它應該從同一個客戶端
- 21. ann註解方法接受參數?
- 22. 接受Class參數的測試方法
- 23. MVC JsonResult方法不接受參數
- 24. PHP接受GET方法只能從
- 25. 接受命令並調用方法
- 26. Retrofit-Android:請求方法不被接受
- 27. 接受n個參數的方法C#
- 28. 接受方法返回空 - C#.NET MVC
- 29. java.math.BigInteger,pow方法只接受int
- 30. Java Serversocket和Bash連接
因此,在ServerSide上創建新的Socket? @Michael Ritter – CHAMP3333
嗯是一個套接字創建在客戶端和服務器用於溝通的每一邊是什麼 –
所以服務器端的新套接字將創建在新端口或相同的指定端口..? – CHAMP3333