2016-12-01 234 views
0

我知道一個套接字連接是由服務器套接字和客戶端套接字建立的。 我讀了一些文件說,一個服務器套接字可以服務多個客戶端套接字,意味着一個服務器端口可以服務器多客戶端端口。套接字連接問題

1.但我不知道服務器使用隨機端口來服務不同的客戶端後連接底層,或服務器只是使用相同的端口監聽和服務許多客戶端的連接?

2.如果是這樣,當我實現服務器和客戶端套接字連接時,是否可以隨機選擇一個新端口來建立新的服務器套接字並告訴客戶端重新連接到新的服務器套接字,並且偵聽的服務器套接字只是繼續監聽其他服務器套接字客戶?它意味着使用不同的端口來服務不同的客戶端

3.使用一個服務器套接字(端口)來服務多個客戶端有什麼好處?並使用多服務器套接字(端口)服務器不同的客戶端的優勢?

謝謝

回答

1

兩個值idenify每個端點,IP地址和端口號通常被稱爲插座。

  • 服務器套接字監聽在一個端口上。該服務器上的所有建立的客戶端連接都與連接的服務器端上的相同偵聽端口相關聯。同一臺服務器上的多個連接可以共享相同的服務器端IP /端口對,只要它們與不同的客戶端IP /端口對,服務器將能夠處理儘可能多的客戶端,因爲可用的系統資源允許它。

    var express = require('express');
    var app = express(); var server = require('http').createServer(app); var io = require('socket.io')(server); server.listen(4200);

這裏u能與socket.io附上您的HTTP端口。

  • 通過使用隨機的客戶端端口,在這種情況下,有可能耗盡可用的端口,如果你在短時間內做出了很多的連接。

for more detail visit this site