最近閑得無聊做了個即時通訊小模塊
效果上圖
可以顯示在線好友並進行私聊(時間比較短,私聊沒搞上信息盒子,導致沒有將私聊信息分開),群聊功能(也是沒盒子,就只有一個群)
代碼方面:https://gitee.com/krm-x/socket-demo.git
我說一下我遇到的問題
服務端寫法
客戶端寫法
這個IP地址卡了我好久,在如果只是在局域網內運行的話,直接用內網IP加端口即可
使用外網就有講究了
情況一有服務器,無域名
用法
服務器端:
192.168.31.88:8888 內網IP加端口
客戶端:
xxx.xxx.xxx.xxx:8888 外網IP加端口
只有公網IP(服務器IP)的話,寫法與內網的類似,客戶端還是公網IP加端口(非80),服務器端就是服務器的內網IP加端口,這兩個端口要一致的(服務器的防火牆與服務器運營商的安全組都要去配置對應的端口)
當然web項目的端口肯定不能和這一個重復(IIS中的部署位置)
情況二有服務器,有域名
這種情況是多了個域名,我們知道一般有域名的都會綁定在80端口上用主機名來區分網站,這時候就出現問題了
例子:www.baidu.com:8888
解析:14.215.177.38:80:8888
這樣加端口的形式就不對了,
正確的寫法是80端口正常保留
服務端:內網IP加A端口(非80)
客戶端:公網IP加A端口(非80)
這兩個端口需要是一致的
用法
服務端:
還是內網IP加端口
192.168.31.88:8888
客戶端:
這里需要是域名加端口了
www.socket.com:8888