通过Internet上的TCP插座连接



我正在进行一个项目,需要服务器和客户端之间的连接。我通过添加TCP插座来做到这一点。

这是代码分数:服务器:

    ServerSocket welcomeSocket = new ServerSocket(80);
    while(true)
    {
        Socket connectionSocket = welcomeSocket.accept();
        WorkerThread wt = new WorkerThread(connectionSocket, id);
        Thread t = new Thread(wt);
        t.start();
        workerThreadCount++;
    }

客户端:

        Socket skt = new Socket("192.168.0.108", 80); // The IP address is from cmd->ipconfig/all-> IPv4 Address
        outToServer = new PrintWriter(skt.getOutputStream(), true);
        inFromServer = new BufferedReader(new InputStreamReader(skt.getInputStream()));

当两端在同一设备中/在同一wifi下时,这一切都可以。

请帮助明确的步骤。

在这里:

Socket skt = new Socket("192.168.0.108", 80);

local 地址。如果您想在Internet上拥有可访问的服务器,则该服务器需要具有其全局公共IP地址!

换句话说:您必须确保可以从Internet到达服务器。例如,通过转向一些服务提供商,该服务提供商托管服务器,然后可以配备您的代码!

192.168地址的全部目的仅在本地子网中定义。

另外,您必须检查ISP是否具有ISP为您的连接分配IP地址的服务,这允许Internet的呼叫进入您的"位置"。

含义:当您想接收电话时,您需要连接到电话网的手机!

为了将WAN上的插座连接到插座,您必须将该端口向前移植到本地设备。这可以在路由器的设置中完成。

192.168.0.108->那是您本地的IP地址。

这可以在您的本地网络上使用,而无需任何端口转发。但是,要在WAN上使用它,请执行以下步骤:

步骤1:搜索路由器的型号和端口在Google上转发在HOWHOWER端口80上,以远程端口80到您的本地IP地址。警告:在本地设备上使用静态IP地址,以防止重新启动后IP更改。

步骤2:访问IP鸡之类的网站并找到您的外部IP地址。

然后,您可以使用:

连接到插座

Socket skt = new Socket("[EXTERNALIP]", 80);

请注意:除非您有业务网络,否则您的外部IP地址可能会不时改变。

最新更新