本帖最后由 jifengwei 于 2009-09-08 09:48:21 编辑

解决方案 »

  1.   

    主要是你服务器端用的是什么端口进行监听??先用telnet 服务器的IP和端口号试试能不能连接上,如果连不上说明你们双方的防火墙有没打开的,如果能连上了,在用自己的程序去测吧。
      

  2.   

    服务器用80端口监听
    用telnet 在国航机子上测试也是不通的我最多也只能给100分。大家帮忙了
      

  3.   

    80端口是http的默认端口,你这个没有必要用80端口。
      

  4.   

    正在很多政府机关都是这样,关闭全部端口,需要开放的要申请才行,如果有Oracle数据库的话应该开放1521,试试,嘿嘿。3389封了我们就用1521远程桌面!实在不用如果实时速度要求不是特别强的话建议你改成WebService,不用考试这些端口方面的问题了!
      

  5.   

    IE用的80端口,肯定防火墙没封,IE用了80端口,所以你的程序肯定不能再用这个端口了不是。你用TELNET不通,说明防火墙给你的端口封住了,申请开通吧。或者用webservice,只要IE通,它就可以。
      

  6.   


    to limeng315:  我把IIS停止了的。让服务器端使用80端口监听
    现在换webservice来不及了啊。只有我一个人写程序,软件还即将出售。
      

  7.   

    socket服务器怎么能够用telnet连通呢,笑话。你试过其它地方是否可以连接到服务端吗?内部测试不算,必须也是外部内网用户,比如某小区宽带用户。这个连接不同双向都有可能,特别是当你的客户端有监听时,处于内网的用户肯定是无法被连接的。
      

  8.   

    我不知道楼上测试端口通不通用的是什么方法,但telnet来测试端口通不通肯定是选择之一,不知道哪里可笑了。
      

  9.   

    在服务器上执行netstat -anb 看看80端口是不是被你的程序监听,是监听在了所有IP,还是127.0.0.1,然后再通过工具穿过firewall测试从客户端到服务器端的连接,端口测试通过了再测试程序另外,你们既然有新的应用上线,应该可以要求系统管理员开通新的端口的
      

  10.   

    我本地打开Socket监听端口,然后我用telnet测试那个端口,结果就是连接不上,你给我解释下为什么吧。
      

  11.   

    telnet localhost 80
    如果你的机器有IIS在80端口跑,你说连不上?
      

  12.   


    废话,IIS又不是Socket,IIS是用的HTTP协议,自然支持telnet连接了,而Socket不一样,不支持telnet,你让它怎么去连?你不自己测试下就断言对吗?我可是实际测试发现无法通过telnet连接的。
      

  13.   


    难不成你认为Socket是一种协议?
      

  14.   

    一个完整的socket应该包括协议,地址,与端口号
      

  15.   

    麻烦再问下各位,C# TCP穿透代理的哪位有源码分享下
    我初做网络编程不久,这些都不懂
      

  16.   

    啊,今天下午我尝试做内网互连,发现本地测试没问题,拿到局域网内另一台电脑上一样也出现楼主的状况,明明自己没开防火墙,端口也是正确的,可是没法连入服务端。
    现在问题终于找到了,原来是创建新的Socket时,绑定了本地IP和端口,因为我想指定本地使用什么端口,而绑定时用了127.0.0.1这个IP,所以我本地测试没有问题,换到其它电脑上连过来IP自然不能是那个了,也就是说,Socket创建的时候绑定的本地IPEndPoint时,必须这样创建,否则就会出现外面无法连接的情况:int port = 30000;//此处自己指定端口
    IPEndPoint localEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), port);
    不知道这个是不是和jifengwei你一样的问题,如果需要参考全部代码,倒也无妨,只不过我那个内网互连的测试项目还没完成。
      

  17.   

    我现在要做的是穿透他们的代理服务器
    网上找了好久的打洞,都是UDP的。好像TCP的不是很好做
    楼上,我其它的测试过。内网到内网没有关系
    就是他们国航是代理访问外网就不行了
      

  18.   

    代理访问的话,用SocketCap就可以了,IE因为有代理设置可以直接填写,而一般的应用程序没有,所以有了SocketCap这样的软件,用SocketCap运行应用程序,就可以让应用程序通过代理来访问internet了。
      

  19.   

    放火墙会有包过滤的~~如果不是在80端口用http协议一样可以给过滤掉
      

  20.   

    谢谢各位,我现在打算改WEBSERVICE了。