Javascript 从HTML应用程序通过TCP IP客户端发送短字符串的最佳方式

Javascript 从HTML应用程序通过TCP IP客户端发送短字符串的最佳方式,javascript,html,node.js,json,Javascript,Html,Node.js,Json,我正在做一个项目,我必须通过TCP IP套接字发送不同的字符串(开始、暂停、停止),以便通知服务器 我想做的是通过按下HTML应用程序上的按钮来发送字符串(开始、停止、暂停)。 ***按下JSON文件上的按钮后,我将fs.writeFile一个空字符串。我的JSON文件中只需要一个字符串 我尝试直接从客户端(clientSend.write('TEST');)发送一些自定义字符串,服务器可以很好地接收它们 我尝试通过php发送不同的变量,然后是JSON文件,但似乎无法访问JSON文件,即使在服务

我正在做一个项目,我必须通过TCP IP套接字发送不同的字符串(开始、暂停、停止),以便通知服务器

我想做的是通过按下HTML应用程序上的按钮来发送字符串(开始、停止、暂停)。 ***按下JSON文件上的按钮后,我将fs.writeFile一个空字符串。我的JSON文件中只需要一个字符串

我尝试直接从客户端(clientSend.write('TEST');)发送一些自定义字符串,服务器可以很好地接收它们

我尝试通过php发送不同的变量,然后是JSON文件,但似乎无法访问JSON文件,即使在服务器运行时也是如此。我想知道什么是从html页面向将发送字符串的客户端发送单个字符串单词的最佳方式

我试图发送到一个php文件,然后再发送回一个JSON文件,但从未让它工作

节点JS客户端:

const IP = '127.0.0.1';
const SENDPORT = 3456;

setInterval(function() { 
    var clientSend = new net.Socket();
    clientSend.connect(SENDPORT, IP, function() {
        console.log('Connected');
        fs.readFile('/string.json', (err, data) => { //might be wrong
            if (err) throw err;
            console.log(data);
        });
        clientSend.write(data);
        clientSend.destroy();
    });

    clientSend.on('close', function() {
        console.log('Connection closed');
        clientSend.destroy();
    });

}, 10000); 
(...)

Start button:<button id="buttonStart"; style="background:green; 
cursor:pointer;width:300px;height:100px;">Start</button>

<br><br><br>>

Pause button:<button id="buttonStart"; style="background:orange; 
cursor:pointer;width:300px;height:100px;">Pause</button>

<br><br><br>>


Stop button:<button id="buttonStart"; style="background:red; 
cursor:pointer;width:300px;height:100px;">Stop</button>

<script 
src=https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js> 
</script>
<script>
    var start = 'start';
    //This is where I have no clue what to do
    $('#buttonStart').click(function() {
        $.post("json.php", {JSON.stringify(start)}
    );}
</script>
HTML页面:

const IP = '127.0.0.1';
const SENDPORT = 3456;

setInterval(function() { 
    var clientSend = new net.Socket();
    clientSend.connect(SENDPORT, IP, function() {
        console.log('Connected');
        fs.readFile('/string.json', (err, data) => { //might be wrong
            if (err) throw err;
            console.log(data);
        });
        clientSend.write(data);
        clientSend.destroy();
    });

    clientSend.on('close', function() {
        console.log('Connection closed');
        clientSend.destroy();
    });

}, 10000); 
(...)

Start button:<button id="buttonStart"; style="background:green; 
cursor:pointer;width:300px;height:100px;">Start</button>

<br><br><br>>

Pause button:<button id="buttonStart"; style="background:orange; 
cursor:pointer;width:300px;height:100px;">Pause</button>

<br><br><br>>


Stop button:<button id="buttonStart"; style="background:red; 
cursor:pointer;width:300px;height:100px;">Stop</button>

<script 
src=https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js> 
</script>
<script>
    var start = 'start';
    //This is where I have no clue what to do
    $('#buttonStart').click(function() {
        $.post("json.php", {JSON.stringify(start)}
    );}
</script>
(…)
开始按钮:开始



> 暂停按钮:暂停


> 停止按钮:停止 var start='start'; //这就是我不知道该做什么的地方 $(“#按钮开始”)。单击(函数(){ $.post(“json.php”,{json.stringify(start)} );}
PHP

<?php
$json = $_POST['start'];

/* sanity check */
if (json_decode($start) != null) {
    $file = fopen('/string.json','w+');
    fwrite($file, $start);
    fclose($file);
}
else {
 //
}
?>

现在我真正想得到的是JSON文件中的数据。它也可以是一个.txt文件,也可以是任何其他我以后可以使用fs.readfile的文件

我不能在HTML页面上使用任何NodeJS函数

性能也很重要。如果有更好的选择来发布和阅读小字符串,请告诉我


谢谢。

我编写的解决方案很好,但并不完整。我只是没有在php服务器上运行php代码,所以html页面读取的是简单的文本


我下载了Wampserver并使php在此服务器上运行,然后将所有内容一起运行,效果非常好。

我编写的解决方案很好,但并不完整。我只是没有在php服务器上运行php代码,所以html页面读取的是简单的文本

我下载了Wampserver,让php在这台服务器上运行,然后把所有的东西一起运行,它运行得很好