作者ponwar87123 (干我屁事喔北七)
看板C_and_CPP
標題[問題] Socket讓兩台電腦對連
時間Thu May 10 00:12:06 2018
開發平台(Platform): (Ex: Win10, Linux, ...)
windows 10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Visual Studio 2013 C++
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
電腦自己測試可以傳送文字,但兩台電腦卻無法連線
餵入的資料(Input):
Server:一開始輸入自身的ip,之後進入監聽
Client:一樣輸入ip,之後會收到來自server的一串文字,然後可以自行輸入文字來傳送給server
預期的正確結果(Expected Output):
使兩台電腦對連
錯誤結果(Wrong Output):
原先127.0.0.1都可以正常在電腦內部使用,但如果server的程式給A電腦,並且輸入A電腦自己的IP
(IP是由:
http://dir.twseo.org/ip-check.php 查到的),那他會整個跳過bind,listen,accpet,
並且說自己已經收到Client的連線了,重點是client根本還沒開起
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
Server:
https://pastebin.com/NhpJ2KBS
Client:
https://pastebin.com/Yp22gsNe
補充說明(Supplement):
也許這問題很菜,但我完全不知道問題出在哪QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.12.149.192
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1525882330.A.B05.html
1F:→ Lipraxde: 你用哪個port啊? 05/10 00:42
1234 htons那裏
※ 編輯: ponwar87123 (101.12.149.192), 05/10/2018 00:49:53
2F:推 losepacific: A電腦的ipconfig /all輸出是? 05/10 01:48
3F:→ Lipraxde: 恩...這問題應該跟網路比較有關 05/10 01:59
4F:→ Lipraxde: 還有你有做port forwarding嗎? 05/10 02:00
5F:→ MOONY135: 覺得應該是ip的問題 我們是做過手機wifi掃桌機 桌機是cl 05/10 07:49
6F:→ MOONY135: ient 掃的要是公司內部發給你的ip才行 兩台都是要連上公 05/10 07:49
7F:→ MOONY135: 司的網路 05/10 07:49
8F:→ ponwar87123: 所以ip是不能設定我用那個網站查到的嗎?我沒做port 05/10 11:34
9F:→ ponwar87123: forwarding耶 05/10 11:34
10F:→ Lipraxde: 先在自己區網做吧,查區網的ip 05/10 12:13
11F:→ Lipraxde: 不是只有你自己的client可以連線,其他人也可以啊 05/10 12:16
12F:→ Lipraxde: 還是你的情況是自己有一組ip? 05/10 12:16
剛剛測試後可以了,應該是IP的原因,我簡單說一下解決方法
原本的問題是,我的A電腦是接乙太網路,B電腦連A電腦所開的熱點,A電腦用ipconfig /all查出來的都是192.168.xx.xx這應該都是內部的ip
所以我去查ip網查ip,並使用那組ip會產生我這篇文章的錯誤
所以我剛剛就把A電腦的乙太切掉,然後用我的手機開wifi給A B兩台電腦連,然後查A電腦的ipconfig /all
發現終於有一組不是192.168.blablabla了,於是我用server的程式輸入這組,然後就停留在waiting等我開client了~
結論,解決方法是換網路Orz
※ 編輯: ponwar87123 (101.12.148.140), 05/10/2018 12:33:55
13F:→ Lipraxde: 我覺得這不算錯誤啦,就有其他人也想連A的1234 05/10 13:30
14F:→ Lipraxde: 啊你在區網玩只有自己當然就不會有其他連線進來啊 05/10 13:31
15F:→ MOONY135: 基本上有分網域吧 如果你想開放外面的電腦進來 05/10 13:40
16F:→ MOONY135: 就是要搞固定IP 不然區網的話就是要限定同一台轉接器 05/10 13:41