если вы используете библиотеку laravel cboden / ratchet для сокета, перейдите в app / Console / Commands / WebSocketServer.php Замените функцию handle этими строками кода и используйте пути к файлам сертификации 'local_cert' и 'local_pk'
public function handle()
{
$loop = Factory::create();
$webSock = new SecureServer(
new Server('0.0.0.0:8090', $loop),
$loop,
array(
'local_cert' => '/opt/ssl/chamberstock_com.crt', // path to your cert
'local_pk' => '/opt/ssl/server.key', // path to your server private key
'allow_self_signed' => TRUE, // Allow self signed certs (should be false in production)
'verify_peer' => FALSE
)
);
// Ratchet magic
$webServer = new IoServer(
new HttpServer(
new WsServer(
new WebSocketController()
)
),
$webSock
);
$loop->run();
}
Как отмечено, Вы не можете foreach
по IEnumerator<T>
. Из-за этого это мешает интегрироваться в места в коде, где Вы хотите выполнить итерации, по какому Вы возвращаетесь.
Кроме того, imporance здесь - это IEnumerable<T>
предназначен, чтобы быть фабрикой, так, чтобы можно было произвести реализации IEnumerator<T>
это непосредственно не связывается с реализацией набора T
.
Еще более важный теперь то, что все дополнительные методы для LINQ отделываются IEnumerable<T>
, таким образом, Вы захотите сделать свои перечисления максимально легкими работать с путем возврата этого.