日期:2014-05-20  浏览次数:20714 次

Socket编程的一个疑问
我用Socket写了一个聊天软件。
我测试了下,同一台电脑可以正常连接。
同个局域网内,
我们宿舍这栋楼的IP是192.168.218.*;也都可以正常连接。
跟另一栋楼的IP192.168.217.*;的就连接不成功了,
可是我们整个学校都在同一局域网的啊。。。
而且,我之前用C语言Windows API写的Socket就可以。为什么JAVA的就不行了。
一直寻找不到。

还有,如果我要实现广域网连接的话,由于我的电脑连接学校局域网,所以是内网的,没有静态IP,有什么方法可以让我的电脑做广域网的服务器?能不能像花生壳那样?

------解决方案--------------------
既然C写的能通 java肯定也能通 再调调 是不是防火墙什么的拦了

学校内网一般不向外开放的 其次你所在内网不知道是第几层了 基本无望了
------解决方案--------------------
可能是防火墙拦住了
------解决方案--------------------
java一定是可以的,确认是不是在一个域内?如果要广域网内连接就需要有一台服务器才行,就是说要有固定的外网IP。
------解决方案--------------------
Quote: 引用:

我用Socket写了一个聊天软件。
我测试了下,同一台电脑可以正常连接。
同个局域网内,
我们宿舍这栋楼的IP是192.168.218.*;也都可以正常连接。
跟另一栋楼的IP192.168.217.*;的就连接不成功了,
可是我们整个学校都在同一局域网的啊。。。
而且,我之前用C语言Windows API写的Socket就可以。为什么JAVA的就不行了。
一直寻找不到。

还有,如果我要实现广域网连接的话,由于我的电脑连接学校局域网,所以是内网的,没有静态IP,有什么方法可以让我的电脑做广域网的服务器?能不能像花生壳那样?[/quot]

如果不成功,说明不在一个局域网,正如三楼所说,不知都多少划分到多少层了