注册 登录
编程论坛 网络技术

通过局域网上网的计算机是不是不能作为服务器?

luzhlon 发布于 2013-02-21 10:30, 68 次点击
我最近编写了一对通讯的程序,我的电脑运行服务端,客户端要连接的ip地址是用ipconfig命令测出来的(10.23.4.134),在虚拟机上测试能通过,在别人的电脑上就发生连接错误。

我去网上查询ip地址是218.201.124.223,而10.23.4.134是局域网地址,我又把客户端要连接的ip地址改为218.201.124.223,结果在虚拟机上和别人的电脑上都没有通过。

我觉得出错的原因是218.201.124.223这个ip地址是局域网服务器的ip地址,而我的电脑是属于这个局域网的,所以客户端在寻找服务端主机的时候找不到我的电脑所以才出错。

你们怎么认为的?  我怎样才能让它通过呢?
4 回复
#2
青春无限2013-02-21 19:33
学习
#3
yuccn2013-02-28 22:54
别人的电脑上就发生连接错误,别的电脑测试的时候不是在同一个局域网测试吧,如果不是,估计是不成功的
#4
贸易飞2013-04-02 10:37
以下是引用luzhlon在2013-2-21 10:30:34的发言:

 我怎样才能让它通过呢?

  你是想让它们怎样通过?是就是本局域网内通过,还是满世界通过?是TCP还是UDP,或者还更加底层?
  一般来说,你应该需要一个位于公网里的服务器,来帮助双方定位,主要是帮你解决端口的问题。
  定位为两个层次,一是IP地址,这个很好办,现在有许多免费的动态域名系统,为了避免广告嫌疑,我在此不说名字,你用动态域名百度一下就很好找。你把你的机器当中的动态域名系统客户端运行起来,别人能通过动态域名,找到你的IP地址。
  定位还要定端口,这是个很麻烦的问题,必需要用一种机制,能让外网的机器知道位于内网的机器的端口,因为内网的机器,在信息出网关时,端口被映射了。
  如果是用TCP,除非你有网管的权限与设备,否则不能用内网的机器作服务器。
#5
sunzhengjunc2013-04-18 11:11
看不懂
1