在另一个网络上运行套接字客户端时,连接超时

时间:2018-09-12 18:46:09

标签: java connection-refused

我的问题是,当我在另一个网络(我的电话热点)上运行客户端时,出现“ java.net.ConnectException:连接被拒绝:connect”异常。它可以在同一网络上正常工作,我认为这是防火墙的问题,但是即使在启用Eclipse并为每种类型的网络禁用防火墙之后,它仍然无法正常工作。

客户:

import java.io.*;  
import java.net.*;  
public class MyServer {  
    public static void main(String[] args){  
        try{  
            System.out.println("Server Running");
            ServerSocket ss=new ServerSocket(6666);  
            Socket s=ss.accept();   
            DataInputStream dis=new DataInputStream(s.getInputStream());  
            String str=(String)dis.readUTF();  
            System.out.println("message= "+str);  
            ss.close();  
        }catch(Exception e){System.out.println(e);}  
    }  
} 

服务器:

    dataWrap.override.stdWrap.cObject = COA
    dataWrap.override.stdWrap.cObject {
        10 = TEXT
        10.dataWrap = <section class="content video {field:flexform_mdCol1} {field:flexform_mdCol2} {field:flexform_col21class}

        20 = TEXT
        20.value = " style="background-image: url(/
        30 = IMG_RESOURCE
        30 {
            file.import.data = field:flexform_mdCol3
        }
        40 = TEXT
        40.value = );">

        50 = TEXT
        50.value = <video width="1920" height="1080" autoplay loop muted playsinline poster="/
        60 = IMG_RESOURCE
        60 {
            file.import.data = field:flexform_mdCol3
        }
        70 = TEXT
        70.value = ">

        75 = CONTENT
        75 {
            table = tt_content
            select {
                table = tt_content
                uid.data = field:uid
            }

            renderObj = COA
            renderObj {
                10 = TEXT
                10 {
                    data = flexform: pi_flexform:flexform_mdCol4
                }
            }
        }

        80 = TEXT
        80.value = <source src="/
        90 = FILES
        90 {
            files.dataWrap = {field:flexform_mdCol4}

            renderObj = TEXT
            renderObj.stdWrap.data = file:current:publicUrl
            renderObj.stdWrap.wrap = |
        }
        100 = TEXT
        100.value = " type="video/mp4"></video>|</section>
    }
    dataWrap.override.if.isTrue.field = flexform_mdCol4

1 个答案:

答案 0 :(得分:0)

您需要使用全局IP地址而不是本地IP地址。当前,“ 192.168.0.36”在您的本地网络上。如果要从其他网络访问它,则需要使用全局IP地址。有一些工具意味着您不需要记住全局IP地址(或提供它),例如NO-IPMY-IP还会告诉您您的全局IP地址。

另一方面,您可能还需要在路由器上端口转发端口6666。只看这是上面的不能单独工作。您可能需要两者都做。根据您路由器的制造商,可以在Google上轻松获得有关端口转发的信息。

希望这会有所帮助!