從局域网中的電腦連接到internet(固定ip)上的電腦,怎樣做100分請教
public static Socket ConnectToServer(string strHost,int iPort)
{
try 
{
IPAddress ipAddress = Dns.Resolve(strHost).AddressList[0];
IPEndPoint ipPoint = new IPEndPoint(ipAddress,iPort) ;
 
Socket s = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp) ;
s.Connect(ipPoint) ;
return s ;

catch (Exception e) 
{
throw (new Exception("建立到伺服器的連接出錯" + e.Message)) ;
}
}
這樣出錯:"連線嘗試失敗,因為連線對象有一段時間並未正確回應,或是連線建立失敗,因為連線的主機無法回應。"

解决方案 »

  1.   

    private void BuildingServer(string strAddress,int iPort)
    {
    IPAddress ipAddress =Dns.Resolve(strAddress).AddressList[0]; try
    {
    listener = new TcpListener(ipAddress, iPort);   
    }
    catch( Exception e)
    {
    AddInfo(e.Message) ;
    }
    }
      

  2.   

    除了写代码外,还要做NAT,就是把你的LAN内的ip地址转换为固定的ip地址,这样才能和外网连接。
      

  3.   

    是转换为合法的ip地址。路由器可以转换,windows2000ser可以转换。当然,先要在isp那里获得一个合法ip
      

  4.   

    内网的访问外网IP不涉及穿越NAT,反之就要用了。
    如果确认代码没问题的话看看IP对不对,是否该Server机有多个IP地址。
      

  5.   

    如果你的电脑是和ADSL猫相连的话,就可以不做NAT了
    如果外网那台电脑也是连接好的话,先ping一下,看能否ping通
      

  6.   

    你确认远程服务器的端口正解开放,并能连上吗?用telnet测试一下telnet 远程IP 端口号如果连不上会有提示,反之就是连上了
      

  7.   

    用telnet测试,連接不上,為什麼呢?,有哪些條件.