关于PHP做的socket监听端口的问题

ylj13805741053 2017-05-11 11:02:16
大家好。初学php,请大家多多指导。先把问题描述下:
小弟我用php做了一个简单的socket监听程序,用来监听外部终端设备通过GPRS发送到服务器的数据,外部设备是厦门四信DTU.
socket程序由于用来测试,比较简单,代码如下:
<?php
//确保在连接客户端时不会超时
set_time_limit(0);
//设置IP和端口号
$address = "192.168.1.3";
$port = 1080; //调试的时候,可以多换端口来测试程序!

$host = '127.0.0.1'; //服务器地址
$root = 'root'; //用户名
$pwd = '123'; //MYSQL密码
$database='test'; //数据库


$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("socket_create() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
socket_set_block($sock) or die("socket_set_block() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
$result = socket_bind($sock, $address, $port) or die("socket_bind() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
//开始监听
$result = socket_listen($sock, 4) or die("socket_listen() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
echo "现在开始监听以下IP地址和端口:\n $address:$port ... ";
echo "\n";
echo "现在开始接收数据.\n 监听中 ... \n";
do { // never stop the daemon

$msgsock = socket_accept($sock) or die("socket_accept() failed: reason: " . socket_strerror(socket_last_error()) . "/n");
$buf = socket_read($msgsock, 8192);
//直接打印结果
var_dump($buf);

socket_close($msgsock);
} while (true);
socket_close($sock);

?>
在运行该php代码,截图如下
由于截图不能上传,我只能复制粘贴了。

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>cd\

C:\>php C:\wamp\www\hzfk\view\server.php
现在开始监听以下IP地址和端口:
192.168.1.3:1080 ...
现在开始接收数据.
监听中 ...
string(21) "
18368899457
PS:18368899457前面是乱码。
那么我的问题来了:为什么会出现乱码呢?赐教







...全文
448 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2017-05-13
  • 打赏
  • 举报
回复
192.168.1.3:1080 ... 现在开始接收数据. 监听中 ... string(21) " 18368899457 没有乱码啊。 可以把接受到的数据写入文件试试。
weixin_38010291 2017-05-12
  • 打赏
  • 举报
回复
cmd里默认编码方式不支持打印中文,建议打印到txt文件里看看结果
ylj13805741053 2017-05-11
  • 打赏
  • 举报
回复
谢谢版主,主要是公司一个人开发,又是新手,没有地方去问。有这方面的资料或者例子吗,谢谢
xuzuning 2017-05-11
  • 打赏
  • 举报
回复
通讯是有协议的

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧