我实现了一个简单的python服务器,它创建一个Unix域套接字并监听它上面的数据。起初我用一个文本字段对此进行了测试,该文本字段在按下"发送"时运行PHP脚本。在我开始工作之后,我添加了一些jquery并尝试发送当前按下的键的键代码。整个系统将在Raspberry Pi上运行。
在Ubuntu上构建它时,某些东西会停止工作:
将所有内容转移到Raspberry Pi上:
PHP或python在任何时候都没有任何迹象表明套接字有问题 - 我最初用
调试了PHP位ini_set('display_errors', 'On');
error_reporting(E_ALL);
Python服务器代码:
import socket, os
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
try:
os.remove("/tmp/socketname")
except OSError:
print 'OSError'
s.bind("/tmp/socketname")
s.listen(1)
n=0
conn = s.accept()[0]
while 1:
if not conn:
break
data = conn.recv(1024)
if not data:
break
print '---'
if data:
n=n+1
print n,
print data
print 'done'
conn.close()
PHP脚本:
<?php
$sock = pfsockopen ('unix:///tmp/socketname', 0);
$cmd=$_POST["pressed"];
if(isset($cmd))
{
if(!$sock) echo("no socket");
if(!fwrite($sock, $cmd)) echo("Error while writing1!!!<br>\n");
}
?>
HTML文件的相关部分:
<script>
$(window).keydown(function(event){
var req=$.ajax({
url: "testajaxpost.php",
type: "POST",
data: { 'pressed': event.keyCode },
error: function (jqXHR, textStatus, errorThrown)
{
alert( "Request failed: " + errorThrown );
}
})
});
</script>
表现得非常奇怪,我无法看出可能出现的问题。我几乎没有网络编程的经验,所以可能会有一些我错过的巨大而明显的错误。