Re: [問題] socket一問
※ 引述《NIKE74731 (做遊戲的心)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: VC++
: 問題(Question):
: 小弟使用socket寫了一個簡單的Server-Client連線架構
: 發現bind的ip如果是192.168.1.4就會回傳true
: 如果ip是用218.160.XXX.XX這種就會回傳false
bind的對象是server「自己的IP」
而你ipconfig所顯示的IP是192.168.1.4←這組才是你的IP
而非218.160.XXX.XXX
因此bind會失敗,因為你不能bind不屬於你的IP
你的網路架構顯然有通過「IP分享器」之類的東西
而那個「218.160.XXX.XXX」則是分享器所使用的對外IP
外部網路 ---- IP分享器 ---- 你的電腦
218.160.X.X 192.168.1.4
: 小弟我希望可以把Server的程式放在家裡跑
: 在外面用Client連進家裡的Server作訊息傳遞
: 但目前卡在這裡
: 所以Client都連不上家裡開的Server
因為有上述所說「IP分享器」的存在
當你連線至 218.160.XXX.XXX,是連到IP分享器而非你的Server,因此會失敗
當你連線至 192.168.1.4,這是一組無法從外部連線的private IP,還是會失敗
你的問題並不在於程式,而是這個網路架構
解決辦法:如果能控制分享器,則設定port-mapping或者設定VNC連線
(方法:開啟瀏覽器輸入 http://192.168.1.1 然後輸入帳號密碼...如果你知道的話)
(暗黑:可以試試看該廠牌的該型號的預設帳號密碼,網管懶得改的話就中獎了)
如果不能控制分享器就很麻煩了...
對了,如果網路跟IP分享器都是你家的(不是租房子時房東提供的)
那直接把server的網路線從分享器上拔掉,移到ISP給的數據機,再播接上網即可
不過如果你的數據機有開啟硬撥的話(20M以上好像都會開)....還是要進去設定了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.117.171.46
※ 編輯: james732 來自: 140.117.171.46 (07/14 23:58)
推
07/14 23:58, , 1F
07/14 23:58, 1F
→
07/14 23:58, , 2F
07/14 23:58, 2F
※ 編輯: james732 來自: 140.117.171.46 (07/15 00:03)
推
07/15 00:31, , 3F
07/15 00:31, 3F
→
07/15 00:31, , 4F
07/15 00:31, 4F
如果沒有先在分享器上面做任何設定的話
這樣Client連線的對象是IP分享器
而你的Server程式並非跑在分享器上面,而是另一部電腦
因此Client只會收到一個連線失敗的訊息
這就跟你想找公司的某個員工,卻打給總機
而總機又不認識那個員工,只好跟你說你打錯電話了
※ 編輯: james732 來自: 140.117.171.46 (07/15 00:38)
推
07/15 00:41, , 5F
07/15 00:41, 5F
解法就是我講的 1.設定分享器 2.改變線路配置
※ 編輯: james732 來自: 140.117.171.46 (07/15 00:42)
推
07/15 00:45, , 6F
07/15 00:45, 6F
3. 搜尋 upnp 這個東西,「可能」可以在程式上解決你的問題
(但我不熟它,只知道eMule之類的p2p軟體有利用它來解決一些問題)
不過條件是分享器支援並且啟用,如果不支援或沒啟用,程式實作了也沒用
4. 自己辦一條網路,最花錢,但一定可以解決
※ 編輯: james732 來自: 140.117.171.46 (07/15 00:52)
→
07/15 00:58, , 7F
07/15 00:58, 7F
→
07/15 00:58, , 8F
07/15 00:58, 8F
不過他的問題是IP分享器所做的NAT,而非浮動IP與固定IP所造成的
※ 編輯: james732 來自: 140.117.171.46 (07/15 00:59)
→
07/15 01:01, , 9F
07/15 01:01, 9F
→
07/15 09:15, , 10F
07/15 09:15, 10F
→
07/15 14:10, , 11F
07/15 14:10, 11F
→
07/15 21:06, , 12F
07/15 21:06, 12F
推
07/15 22:05, , 13F
07/15 22:05, 13F
→
07/15 22:13, , 14F
07/15 22:13, 14F
推
07/15 22:40, , 15F
07/15 22:40, 15F
→
07/15 22:41, , 16F
07/15 22:41, 16F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章