lang/php

PHP SocketIOClient.php On socket.io 1.3.7 Error

C/H 2015. 12. 2. 08:30

PHP SocketIOClient.php On socket.io 1.3.7 Error

Bad Request

socket.io 1.3.7 에서 php_io.php 라이브러리로 연결시 아래 에러가 발생한다.
# Nodejs 5.1.0 + socket.io 1.3.7
engine intercepting request for path "/socket.io/" +12m
engine handling "GET" http request "/socket.io/1" +0ms
engine unknown transport "undefined" +0ms

# PHP
Fatal error:  Uncaught exception 'RuntimeException' with message '{"code":0,"message":"Transport unknown"}' in /Users/uncaose/workspace/marsh/web/application/libraries/socketIOClient/SocketIOClient.php:97

PHP의 SocketIOClient.php 수정

# curl_setopt을 사용하면 {“code”:3,”message”:”Bad request”}
$this->socketIOUrl = str_replace(array("'", '"', """), array('', '', ''), $socketIOUrl) . '/' . $socketIOPath . '/?EIO=' . (string) $protocol.'&transport=websocket';

# curl_setopt을 사용하면 {“code”:2,”message”:”Bad handshake method”}
# curl_setopt($ch, CURLOPT_POSTFIELDS, Array('transport'=>'websocket'));
# Nodejs 5.1.0 + socket.io 1.3.7
engine intercepting request for path "/socket.io/" +2m
engine handling "GET" http request "/socket.io/?EIO=1&transport=websocket" +1ms
engine handshaking client "S0BIR0sGUiAnRERqAAAB" +0ms

# PHP
Fatal error:  Uncaught exception 'RuntimeException' with message 'Protocol ws not supported or disabled in libcurl' in /Users/uncaose/workspace/marsh/web/application/libraries/socketIOClient/SocketIOClient.php:84

연결방식을 명시적으로 설정하지 않으면 여러 방식을 연결될 때 까지 시도한다.

결국은 PHP socket.io 클라이언트 프로그램을 새롭게 개발해야 하거나 다른 Lib를 이용한다.
반응형

'lang > php' 카테고리의 다른 글

Composer Install  (0) 2016.03.30
CodeIgniter Stright layout lib - view, js, css 한번에 사용  (0) 2016.03.24
동영상 업로드  (0) 2015.08.21
PHP 웹 사이트 IDE 개발툴  (0) 2015.06.01
window xampp 속도문제 - 가속엔진이 없을 경우  (0) 2015.05.29