2016-02-14 49 views
0

我有2個接入點:1個用於區域A,1個用於區域B. 我有一個客戶端程序,當我連接到一個接入點時(A),我有一個地址客戶端,然後連接到服務器,服務器顯示其地址。然後,當客戶端連接到接入點(B)時,其IP地址被更新。服務器需要顯示客戶端的更新地址。網絡套接字會話連續性(像IP尋呼系統一樣工作)

我的問題是,當客戶端的地址更改時,客戶端如何保持其連接,並且服務器分別更新地址?

+1

「接入點」是什麼意思?一個WiFi AP?兩個接入點是否位於同一個第2層網絡上?接入點是否運行DHCP服務器並分配IP地址?沒有更多的細節,不可能回答這個問題。 –

+0

是啊2個wifi接入點,是接入點只是給客戶端所有的IP地址。然後客戶端在java中打開它的程序,然後與服務器通信。因此,服務器顯示它通過接入點給出的地址。此外,當客戶端連接到另一個WiFi接入點時,它的地址已經更新,因此客戶端不應該關閉它的Java程序,並且服務器應該總是監聽客戶端並更新客戶端已更改其地址 – Ash

回答

0

當IP地址更改時,不能保持套接字連接打開。

假設您的接入點是路由器,當客戶端從一個移動到另一個時,其現有連接將成爲死連接,並且下次客戶端寫入其舊套接字時,將出現錯誤。客戶端然後可以打開一個新的套接字連接到服務器,並給服務器新的地址。

這是不同於從一個接入點移動到另一個,如果他們是而不是路由器。在這種情況下,客戶端只是以不同的方式連接到同一個本地網絡。它將有相同的 IP地址,並且不需要更新服務器。