首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCP套接字- Stratum应答- OpenEthereumPool

TCP套接字- Stratum应答- OpenEthereumPool
EN

Stack Overflow用户
提问于 2021-07-29 14:16:15
回答 1查看 172关注 0票数 1

当我通过/dev/tcp/host/port连接层服务器时,我发送json并得到正确的答复。

代码语言:javascript
复制
[water@Swan /tmp]$ exec 5<>/dev/tcp/127.0.0.1/8008;
[water@Swan /tmp]$ echo '{"jsonrpc":"2.0","id":1,"method":"eth_submitLogin","params":["0x00000a..27e"]}' >&5;
[water@Swan /tmp]$ cat <&5
{"id":1,"jsonrpc":"2.0","result":true}

然而,当我尝试金刚,python,PHP..。任何套接字语言,它是行不通的,程序停止在那里。我尝试了很多方法,socket_recv($socket, $msg, 1000, MSG_DONTWAIT);或者

代码语言:javascript
复制
 while (!feof($fp)){
    stream_set_timeout($fp, 1);
    echo fgets($fp, 1024);
}
代码语言:javascript
复制
    reply := make([]byte, 1024)

    _, err = conn.Read(reply)
    if err != nil {
        println("Write to server failed:", err.Error())
        os.Exit(1)
    }

    println("reply from server=", string(reply))

    conn.Close()

它们似乎没有工作,但它们都在其他TCP服务器上工作。

如何通过程序纠正Stratum应答

--添加完整的PHP

代码语言:javascript
复制
<?php

$a = array(
  "id" => 1,
  "jsonrpc" =>  "2.0",
  "method" => "eth_submitLogin",
  "params" => ["0x00000a006459...e"]
);

/*
$a = array(
"id" => 1, "jsonrpc" => "2.0", "method" => "eth_getWork"
);
*/

$b = json_encode($a);
$lb = strlen($b);
$h = "xk.com";

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$conn = socket_connect($socket, $h, 8008);
socket_set_nonblock($socket);

var_dump(socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR));

$w = socket_write($socket, $b, $lb);
var_dump($socket, $conn, $w);

sleep(2);
socket_recv($socket, $msg, 1000, MSG_DONTWAIT);
$err = socket_last_error($socket);
var_dump(socket_strerror($err));
socket_close($socket);
var_dump($msg);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-29 20:04:35

您的主机似乎在JSON之后等待换行符才会响应。如果

代码语言:javascript
复制
$b = json_encode($a)."\n";

使用时,您的示例就会奏效。

或者你可以用

代码语言:javascript
复制
socket_shutdown($socket, 1);

如果您没有更多的东西要发送,请在socket_write()调用之后。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68577607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档