最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

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

IT培训 admin 3浏览 0评论

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

我正在做一个项目,我必须通过TCP IP套接字发送不同的字符串(START,PAUSE,STOP),以通知服务器。

我想要做的是通过按下HTML应用程序上的按钮发送字符串(START,STOP,PAUSE)。 ***按下JSON文件上的按钮后,我将fs.writeFile一个空字符串。我只想在我的JSON文件中有一个字符串。

我尝试直接从客户端发送一些自定义字符串(客户端Send.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); 

HTML页面:

(...)

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=.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>

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.read文件的任何其他东西。

我不能在HTML页面上使用任何NodeJS功能。

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

谢谢。

回答如下:

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

我下载了Wampserver,并在这台服务器上运行了php,而不是将所有内容组合在一起,并且完好无损。

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

我正在做一个项目,我必须通过TCP IP套接字发送不同的字符串(START,PAUSE,STOP),以通知服务器。

我想要做的是通过按下HTML应用程序上的按钮发送字符串(START,STOP,PAUSE)。 ***按下JSON文件上的按钮后,我将fs.writeFile一个空字符串。我只想在我的JSON文件中有一个字符串。

我尝试直接从客户端发送一些自定义字符串(客户端Send.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); 

HTML页面:

(...)

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=.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>

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.read文件的任何其他东西。

我不能在HTML页面上使用任何NodeJS功能。

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

谢谢。

回答如下:

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

我下载了Wampserver,并在这台服务器上运行了php,而不是将所有内容组合在一起,并且完好无损。

发布评论

评论列表 (0)

  1. 暂无评论