社区
网络编程
帖子详情
socket外网通讯,怎么实现????
dzz10
2012-10-24 06:15:52
最近做斗地主,当客户端和服务器在局域网内一点为题都没有,但怎么对望通讯呢???
假设我把服务器放在我寝室的电脑上,然后在其它学校的哥们电脑上运行一个客户端,想实现的就是xx学校的哥们能连接上我的服务器。
这个能实现么?具体怎么实现呢?
vc++ socket
...全文
1305
20
打赏
收藏
socket外网通讯,怎么实现????
最近做斗地主,当客户端和服务器在局域网内一点为题都没有,但怎么对望通讯呢??? 假设我把服务器放在我寝室的电脑上,然后在其它学校的哥们电脑上运行一个客户端,想实现的就是xx学校的哥们能连接上我的服务器。 这个能实现么?具体怎么实现呢? vc++ socket
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Frank范
2014-07-19
打赏
举报
回复
请问楼主现在实现了吗?我现在类似的想通过socket实现两台手机之间的通信,实验室手机和家庭手机通信,家庭手机通过路由器上网,路由器公网IP是117.125.1.243,我现在在路由器的虚拟服务器做设置:服务端口5000内部端口4000 手机IP地址192.168.1.104,我在实验室手机的代码里做socket请求的时候是这样写吗?clientsocket = new Socket(117.125.1.243, 5000);然后在服务端要监听的端口号是4000吗?,是这样做吗。为什么实现不了呢
Joseph-Growth
2012-10-26
打赏
举报
回复
花生壳功能很强大,但确实是用不上。
Joseph-Growth
2012-10-26
打赏
举报
回复
[Quote=引用 12 楼 的回复:]
1.外网服务器转发:再写个程序当作转发服务器,放在外网,你设计的斗地主服务器和客户端都连接到这个转发服务器,都向这个转发服务器通信,就可以达到斗地主服务器与客户端间接通信;
2.路由器端口映射:你哥们的客户端连接你学校外网IP和一个端口号,在把这个端口映射到你本机,那么通过你学校外网IP和这个端口的消息都转发给你的机器。这个不知道行不行,也没有实验过,当初我也有楼主的想法,困惑了我很长时间……
[/Quote]
这个就是我说的,被BeanJoy表述的很明白,第二个方法我测试过,完全ok。
BeanJoy
2012-10-26
打赏
举报
回复
再想种变通的方案:
申请个空间,建个网站或FTP(这个网站或FTP当然是所有网络都可以访问,包括内网),你的服务器和客户端访问这个网站或FTP,要么通过网站你的服务器与客户端间接通信,要么直接访问FTP,把服务器与客户端要通信的内容写成文件放在FTP上,一个上传,一个下载。
谨提供方案,速度这些可行不可行不考虑。
不过话说回来,都建网站了,何不再此基础上做游戏,利用AJAX什么。
再说两句,当初我也有楼主的想法,但一直没实现,希望借楼主的帖到找到好的解决方案。
BeanJoy
2012-10-26
打赏
举报
回复
说花生壳的,有没有了解过花生壳的用途?
花生壳的最大用处是每次登录花生壳客户端时,服务器会自动把你当前的IP和域名绑定,所以别人只要使用域名就可以得到你的IP,而不管你IP怎么变,只要每次变后登录花生壳更新一下你的IP即可。
楼主的情况与这个完全不一样,楼主的服务器与客户端都是内网,相信用学校的网,楼主机器与他哥们机器的IP都是不变的,根本用不着花生壳,而且就算楼主机器IP要变,变的也是内网IP,楼主学校外网IP不会变,楼主哥们连接的还是楼主学校外网IP。内网情况下端口映射才是解决之道。
allenjiao
2012-10-25
打赏
举报
回复
如果你的服务器在公网上有公网地址,socket是TCP的话,通信就没问题;
UDP需要NAT穿越
luawkk
2012-10-25
打赏
举报
回复
1,花生壳
2,固定IP
3,公网服务器
fujialin2011
2012-10-25
打赏
举报
回复
把服务器挂在公网上,客户端所在的网络比较复杂,必须保证他能穿过各种NAT,包括代理服务、防火墙等来与服务器连接,对于客户端之间的通讯就要借助服务器,可以先打洞,如果打洞不能互联,那就通过服务器中转。
ShengFei01
2012-10-25
打赏
举报
回复
通常内网通过NAT连接到外网,外网的机器无法连接进来,必须有一台在外网,而且最好服务器在外网。
傻X
2012-10-25
打赏
举报
回复
花生壳。肯定可以的。
zhouzhipen
2012-10-25
打赏
举报
回复
在公网上运行一个你的服务器就行了。
BeanJoy
2012-10-25
打赏
举报
回复
1.外网服务器转发:再写个程序当作转发服务器,放在外网,你设计的斗地主服务器和客户端都连接到这个转发服务器,都向这个转发服务器通信,就可以达到斗地主服务器与客户端间接通信;
2.路由器端口映射:你哥们的客户端连接你学校外网IP和一个端口号,在把这个端口映射到你本机,那么通过你学校外网IP和这个端口的消息都转发给你的机器。这个不知道行不行,也没有实验过,当初我也有楼主的想法,困惑了我很长时间,也没有好的解决方案,学校网络环境复杂,我也不太懂网络,学校也不允许随便动,也没有实现。
酒红色的泪
2012-10-25
打赏
举报
回复
可以用花生壳的免费域名试试
Joseph-Growth
2012-10-25
打赏
举报
回复
两个局域网通信,需要一个外网服务器,通过NAT穿透。
如果一个在公网,一个在局域网,那就把局域网的外部路由服务器设置一个开放端口。外网就跟这个公网端口通信,内网也是向这个端口发射。有路由配置端口映射。
dzz10
2012-10-24
打赏
举报
回复
如果不能实现的话,我可以把我的程序放到外网IP的机器上运行。
dzz10
2012-10-24
打赏
举报
回复
嗯,我的在x学校局域网,他的在y学校局域网
Eleven
2012-10-24
打赏
举报
回复
都在局域网内?
dzz10
2012-10-24
打赏
举报
回复
坐等高手回答
dzz10
2012-10-24
打赏
举报
回复
不能就这么沉了啊
dzz10
2012-10-24
打赏
举报
回复
沙发自拿
python3
socket
怎么
外网
通信_python3利用
Socket
实现
通信
参考于:python cs架构
实现
简单文件传输原文中程序运行有误,在此做修改与解释,如下:功能说明:共2个py文件分别为server和client端,采用
socket
进行通信。提供两种功能:“dir“ 命令用于显示服务器端可下载文件名...
python的
socket
通信中,如何设置可以让两台主机通过
外网
访问?
python的
socket
通信中,如何设置可以让两台主机通过
外网
访问?
如何
实现
前端实时通信(Web
Socket
、
Socket
.io等)?
如何
实现
前端实时通信(Web
Socket
、
Socket
.io等)?
内网与
外网
通讯
socket
学习了
socket
这么长时间,没写过内网,
外网
之间的
通讯
,今天看到两句话顿时领悟。 内网和
外网
连接,这要看你的主动连接方(Client)和被动连接方(Server)各处于什么位置 1、假设Server方在
外网
,Client方在内网...
python
socket
实现
异地
通讯
简单代码
实现
python异地不同IP
通讯
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章