-
Notifications
You must be signed in to change notification settings - Fork 0
/
web.php
52 lines (43 loc) · 1.58 KB
/
web.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
$server = stream_socket_server("tcp://0.0.0.0:1935", $errno, $errstr);
if (!$server) {
die("Error: $errstr ($errno)\n");
}
$readSockets = [$server];
while (true) {
$writeSockets = [];
$exceptSockets = [];
if (stream_select($readSockets, $writeSockets, $exceptSockets, null) === false) {
break;
}
foreach ($readSockets as $socket) {
if ($socket === $server) {
$newSocket = stream_socket_accept($server);
$readSockets[] = $newSocket;
} else {
// 处理客户端连接的逻辑
$buffer = '';
while ($content = fread($socket,1024)){
$buffer.= $content;
if (strlen($content)<1024){
break;
}
}
if ($buffer){
$string = "<h1>1</h1>";
$length = strlen($string);
$fuck = "HTTP/1.1 200 OK\r\nServer: xiaosongshu\r\nContent-Type: text/html; charset=UTF-8\r\nSet-Cookie: name=how%20are%20you%20%21\r\n";
$fuck .= "Access-Control-Allow-Credentials: true\r\n";
$fuck .= "Access-Control-Allow-Origin: \r\n";
$fuck .= "Access-Control-Allow-Methods: *\r\n";
$fuck .= "Access-Control-Allow-Headers: *\r\n";
$fuck .= "Connection: keep-alive\r\n";
$fuck .= "Content-Length: {$length}\r\n\r\n{$string}\r\n\r\n";
fwrite($socket,$fuck);
}else{
//TODO 暫不處理關閉客戶端的問題
}
}
}
}
fclose($server);