PHP监听一个udp协议端口的数据并传到另一个TCP协议端口的服务端和客户端

操作步骤:需要一个客户端,服务端,一个模拟发送器

先启动服务端,然后再打开客户端,按F12,点击连接到服务器按钮(显示成功连接),再点击发送接收按钮(此时需要模拟发送器发送数据),就可以完成数据的传输!

缺陷问题:我也是半懂不懂的,代码肯定bug多,我每运行一次,都需要更换两个IP的端口,哎。。。。。。。(因为服务端一直停留在实时传输的死循环里面,导致各种socket不能关闭)

模拟发送数据器
data
4D 53 47 40 52 4C 44 00 73 44 50 53 41 53 4D 53 41 32 30 31 39 30 38 30 31 31 32 35 36 34 35 30 30 30 46 4C 4D 53 47 4D 53 4D E3 07 08 01 0C 38 2D F3 7D 5B 00 FA D3 ED 42 5D 9C 08 42 9A 99 29 C1 00 00 00 00 D4 77 57 3A 05 01 39 2C 31 30 2C 32 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 47 00 00 00 00 00 00 
//服务端
<?php
$address = "127.0.0.1";
$port = 9969; //调试的时候,可以多换端口来测试程序!
 
set_time_limit(0); 
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_block($sock);
//socket_set_option($sock, SOL_SOCKET, SO_REUSEADDR, 1);
socket_bind($sock, $address, $port);
socket_listen($sock,4);
 
do
{
    echo "Waiting for Connection...<br>";
	//接受一个socket连接
    $msgsock = socket_accept($sock);		//阻塞
    echo "Waiting for Request...\n";

    $buf = socket_read($msgsock, 8192);     //读取请求 
    $response = hand_shake($buf);
    socket_write($msgsock,$response,strlen($response)); //发送响
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值