GVKun编程网logo

php中的socket_connect上的“连接被拒绝”错误(php socket_select)

11

本文将分享php中的socket_connect上的“连接被拒绝”错误的详细内容,并且还将对phpsocket_select进行详尽解释,此外,我们还将为大家带来关于ab测试apr_socket_co

本文将分享php中的socket_connect上的“连接被拒绝”错误的详细内容,并且还将对php socket_select进行详尽解释,此外,我们还将为大家带来关于ab 测试 apr_socket_connect (): 由于目标机器积极拒绝 无法连接、chrome—— 错误 15net::ERR_SOCKET_NOT_CONNECTED、java.net.ConnectException:无法连接到/192.168.253.3(端口2468):连接失败:ECONNREFUSED(连接被拒绝)、java.net.ConnectException:连接被拒绝的相关知识,希望对你有所帮助。

本文目录一览:

php中的socket_connect上的“连接被拒绝”错误(php socket_select)

php中的socket_connect上的“连接被拒绝”错误(php socket_select)

我试图将一些代码从perl转换为PHP.

Perl代码如下所示:

my $handle = Connect($port,$host);

我试图使用socket在PHP中做同样的事情.
我试过socket_create和socket_connect,
socket_create和socket_bind,以及fsocketopen.

结果,我遇到错误消息,说“拒绝连接”或“拒绝许可”:

socket_connect() [function.socket-connect]: unable to connect [111]: Connection refused in

我不确定这是否是我需要解决的问题,或者是权限问题,因为perl中的代码工作正常(我没有编写该代码).

我的PHP代码如下所示:

$socket =  socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
if(!$socket){
        die('Error: socket_create()');
}
if(!socket_connect($socket,$host,$port)) {
        die('Error: socket_connect()');
}

我不是管理服务器的人,因此如果是权限问题,我需要向其他人询问访问权限.我应该具体询问什么?

或者我应该使用其他功能连接到服务器?我是perl的新手,所以我不确定socket_connect是否是要使用的等效函数.

谢谢.

解决方法

如果你的perl代码能够建立连接,那么在PHP中也不需要额外的权限来做同样的事情.连接被拒绝意味着远程主机不允许您进入(您可能连接到错误的地址/端口).权限被拒绝更令人惊讶,很多人在启用SELinux的情况下运行httpd脚本时遇到此类问题.如果您是其中之一,请参阅SELinux手册页:

SELinux policy can be setup such that httpd scripts are not allowed to connect out to the network. This would prevent a hacker from breaking into you httpd server and attacking other machines. If you need scripts to be able to connect you can set the httpd_can_network_connect boolean on:

setsebool -P httpd_can_network_connect 1

不过,我对你的例子有一些看法.从您的Perl片段连接似乎不是标准的套接字连接;我不知道它属于哪个模块,但你确定这个电话背后没有魔力吗?由于socket_connect以点分四位表示法(对于IPv4)采用地址,因此请确保您没有传递主机名(您需要先进行DNS查找).在最后检查它是否真的是你需要的TCP套接字,而不是UDP.

ab 测试 apr_socket_connect (): 由于目标机器积极拒绝 无法连接

ab 测试 apr_socket_connect (): 由于目标机器积极拒绝 无法连接

OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代

使用 ab 测试时候遇到 apr_socket_connect; 由于系统缓冲区空间不足或者队列已满,不能执行套接字上的操作

ab 测试请求的压力上限是,测试请求对数据库执行的操作包括更新插入等操作 
当超过 1000000 的总请求数时,

报 apr_socket_connect; 由于系统缓冲区空间不足或者队列已满

不能执行套接字上的操作 
http://www.iteye.com/topic/190329?page=6 也有遇到同样问题 

chrome—— 错误 15net::ERR_SOCKET_NOT_CONNECTED

chrome—— 错误 15net::ERR_SOCKET_NOT_CONNECTED

地址栏输入 chrome://net-internals/ ,点击 Sockets 项,单击 "Flush socket pools" 和 "Close idle sockets"!好了。

38 元 / 年 腾讯云高性能服务器 2 核 4G

java.net.ConnectException:无法连接到/192.168.253.3(端口2468):连接失败:ECONNREFUSED(连接被拒绝)

java.net.ConnectException:无法连接到/192.168.253.3(端口2468):连接失败:ECONNREFUSED(连接被拒绝)

我想通过WiFi在PC和手机之间传输一些数据.

这是我获取WiFi IP地址的方式:

String ip  = String.format(
                    "%d.%d.%d.%d",
                    (wifiInfo.getIpAddress() & 0xff),
                    (wifiInfo.getIpAddress() >> 8 & 0xff),
                    (wifiInfo.getIpAddress() >> 16 & 0xff),
                    (wifiInfo.getIpAddress() >> 24 & 0xff));

new Recive().execute(ip);

这是关于向PC发送消息的代码:

Socket socket = null;
String message = "test\r\n";
protected Void doInBackground(String... urls) {
    try {
        Log.i("ip", urls[0]);
        socket = new Socket(urls[0], 2468);
        toserver = new DataOutputStream(socket.getoutputStream());
        toserver.writeBytes(message);

        toserver.flush();
        toserver.close();
        socket.close();
        return null;
    } catch (Exception e) {
        Log.i("e", e.toString());
        return null;
    }
}

但是会发生错误,

java.net.ConnectException: Failed to connect to /192.168.253.3 (port 2468): connect Failed: ECONNREFUSED (Connection refused)

此外,我使用Android手机来运行该应用程序.

解决方法:

连接失败:ECONNREFUSED(连接被拒绝)很可能意味着该端口上没有任何内容和该IP地址.可能的解释包括:

>服务已崩溃或尚未(成功!)启动,
>您的客户端正在尝试使用错误的IP地址或端口进行连接,
>您的客户端正在尝试使用解析为错误IP的DNS名称进行连接,或者
>服务器访问被代表服务器/服务“拒绝”的防火墙阻止.这是非常不可能的,因为正常的做法(这些天)是防火墙“黑洞”所有不需要的连接尝试.

请注意,虽然您有一个名为urls的数组变量,但它不能包含真实的URL. Socket构造函数没有任何重载,它以任何形式获取真实的URL.实际上,如果您提供了一个字符串形式的URL,如下所示:

 new Socket("http://example.com", 42)

结果将是一个不同的例外.
同样,如果您尝试连接到无法路由到的网络上的IP地址(例如“不同的WiFi网络”),那么您将获得不同的异常;例如“找不到主机”,“无主机路由”或“无网络路由”.

java.net.ConnectException:连接被拒绝

java.net.ConnectException:连接被拒绝

我正在尝试实现TCP连接,从服务器端一切正常,但是当我运行客户端程序(从客户端计算机)时,出现以下错误:

java.net.ConnectException: Connection refused        at java.net.PlainSocketImpl.socketConnect(Native Method)        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351)        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213)        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200)        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:432)        at java.net.Socket.connect(Socket.java:529)        at java.net.Socket.connect(Socket.java:478)        at java.net.Socket.<init>(Socket.java:375)        at java.net.Socket.<init>(Socket.java:189)        at TCPClient.main(TCPClient.java:13)

我尝试更改套接字号以防万一,但无济于事,有谁知道导致此错误的原因和解决方法。

服务器代码:

//TCPServer.javaimport java.io.*;import java.net.*;class TCPServer {    public static void main(String argv[]) throws Exception {        String fromclient;        String toclient;        ServerSocket Server = new ServerSocket(5000);        System.out.println("TCPServer Waiting for client on port 5000");        while (true) {            Socket connected = Server.accept();            System.out.println(" THE CLIENT" + " " + connected.getInetAddress()                    + ":" + connected.getPort() + " IS CONNECTED ");            BufferedReader inFromUser = new BufferedReader(                    new InputStreamReader(System.in));            BufferedReader inFromClient = new BufferedReader(                    new InputStreamReader(connected.getInputStream()));            PrintWriter outToClient = new PrintWriter(                    connected.getOutputStream(), true);            while (true) {                System.out.println("SEND(Type Q or q to Quit):");                toclient = inFromUser.readLine();                if (toclient.equals("q") || toclient.equals("Q")) {                    outToClient.println(toclient);                    connected.close();                    break;                } else {                    outToClient.println(toclient);                }                fromclient = inFromClient.readLine();                if (fromclient.equals("q") || fromclient.equals("Q")) {                    connected.close();                    break;                } else {                    System.out.println("RECIEVED:" + fromclient);                }            }        }    }}

客户代码:

//TCPClient.javaimport java.io.*;import java.net.*;class TCPClient {    public static void main(String argv[]) throws Exception {        String FromServer;        String ToServer;        Socket clientSocket = new Socket("localhost", 5000);        BufferedReader inFromUser = new BufferedReader(new InputStreamReader(                System.in));        PrintWriter outToServer = new PrintWriter(                clientSocket.getOutputStream(), true);        BufferedReader inFromServer = new BufferedReader(new InputStreamReader(                clientSocket.getInputStream()));        while (true) {            FromServer = inFromServer.readLine();            if (FromServer.equals("q") || FromServer.equals("Q")) {                clientSocket.close();                break;            } else {                System.out.println("RECIEVED:" + FromServer);                System.out.println("SEND(Type Q or q to Quit):");                ToServer = inFromUser.readLine();                if (ToServer.equals("Q") || ToServer.equals("q")) {                    outToServer.println(ToServer);                    clientSocket.close();                    break;                } else {                    outToServer.println(ToServer);                }            }        }    }}

答案1

小编典典

此异常意味着你尝试连接的IP /端口上没有侦听服务:

  • 你试图连接到错误的IP /主机或端口。
  • 你尚未启动服务器。
  • 你的服务器没有监听连接。
  • 在Windows服务器上,侦听积压队列已满。

今天的关于php中的socket_connect上的“连接被拒绝”错误php socket_select的分享已经结束,谢谢您的关注,如果想了解更多关于ab 测试 apr_socket_connect (): 由于目标机器积极拒绝 无法连接、chrome—— 错误 15net::ERR_SOCKET_NOT_CONNECTED、java.net.ConnectException:无法连接到/192.168.253.3(端口2468):连接失败:ECONNREFUSED(连接被拒绝)、java.net.ConnectException:连接被拒绝的相关知识,请在本站进行查询。

本文标签: