作者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/cn.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