MAHDIACTION
شنبه 21 تیر 1399, 11:41 صبح
سلام دوستان
من یه برنامه چت با استفاده از websocket که با httpکار میکنه نوشتم و مسیر دهی کلاینت به سرور به شکل ws://185.185.185.185:server.php
هست حالا می خوام با پروتکل https و ssl رایگان این رو پیاده سازی کنم که مسیر کلاینت برای ارسال میشه wss://185.185.185.server.php هرکاری کردم که php خودش رشته های ssl رو بخونه نشد که نشد .
دوستانی که تونستند اینکار رو بکنند لطفا راهنمایی کنند یا اکانت تلگرام و.. بدن هزینه یاد دادنشون رو پرداخت می کنم.
یکی از نمونه کدهایی که تو سرور نوشتم
$context = stream_context_create();
// local_cert must be in PEM format
stream_context_set_option($context, 'ssl', 'local_cert', '/home/onli/domains/line.n/public_html/sslpem.pem');
stream_context_set_option($context, 'ssl', 'allow_self_signed', true);
stream_context_set_option($context, 'ssl', 'verify_peer', false);
// Create the server socket
$server = stream_socket_server('ssl://185.185.185.185:5529', $errno, $errstr, STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $context);
while(true)
{
$buffer = '';
$client = stream_socket_accept($server);
if($client) {
// Read until double CRLF
while( !preg_match('/\r?\n\r?\n/', $buffer) )
$buffer .= fread($client, 2046);
// Respond to client
fwrite($client, "200 OK HTTP/1.1\r\n"
. "Connection: close\r\n"
. "Content-Type: text/html\r\n"
. "\r\n"
. "Hello World! " . microtime(true)
. "\n<pre>{$buffer}</pre>");
fclose($client);
}
}
من یه برنامه چت با استفاده از websocket که با httpکار میکنه نوشتم و مسیر دهی کلاینت به سرور به شکل ws://185.185.185.185:server.php
هست حالا می خوام با پروتکل https و ssl رایگان این رو پیاده سازی کنم که مسیر کلاینت برای ارسال میشه wss://185.185.185.server.php هرکاری کردم که php خودش رشته های ssl رو بخونه نشد که نشد .
دوستانی که تونستند اینکار رو بکنند لطفا راهنمایی کنند یا اکانت تلگرام و.. بدن هزینه یاد دادنشون رو پرداخت می کنم.
یکی از نمونه کدهایی که تو سرور نوشتم
$context = stream_context_create();
// local_cert must be in PEM format
stream_context_set_option($context, 'ssl', 'local_cert', '/home/onli/domains/line.n/public_html/sslpem.pem');
stream_context_set_option($context, 'ssl', 'allow_self_signed', true);
stream_context_set_option($context, 'ssl', 'verify_peer', false);
// Create the server socket
$server = stream_socket_server('ssl://185.185.185.185:5529', $errno, $errstr, STREAM_SERVER_BIND|STREAM_SERVER_LISTEN, $context);
while(true)
{
$buffer = '';
$client = stream_socket_accept($server);
if($client) {
// Read until double CRLF
while( !preg_match('/\r?\n\r?\n/', $buffer) )
$buffer .= fread($client, 2046);
// Respond to client
fwrite($client, "200 OK HTTP/1.1\r\n"
. "Connection: close\r\n"
. "Content-Type: text/html\r\n"
. "\r\n"
. "Hello World! " . microtime(true)
. "\n<pre>{$buffer}</pre>");
fclose($client);
}
}