2013-01-24 3 views
0

두 클라이언트 간의 간단한 채팅 응용 프로그램을 위해 둘 이상의 클라이언트를 단일 서버에 연결하는 방법. 내가 내가 여러 소켓 또는 포트, 여기 대한 참조 또는 예제 코드 또는 지침 .. 을 만들어야한다, 그물에 적절한 답을하지 않은 것은 여러가있는 경우 내 서버 코드하나의 서버에서 둘 이상의 클라이언트를 연결하는 방법

$host = "127.0.0.1"; 
$port = 25003; 

// No Timeout 
set_time_limit(0); 
$socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create socket\n"); 
//echo $socket; 
$result = socket_bind($socket, $host, $port) or die("Could not bind to socket\n"); 
$result = socket_listen($socket, 3) or die("Could not set up socket listener\n"); 
$spawn = socket_accept($socket) or die("Could not accept incoming connection\n"); 

$input = socket_read($spawn, 1024) or die("Could not read input\n"); 
$output = strrev($input);  

socket_write($spawn, $output, strlen ($output)) or die("Could not write output\n"); 
socket_close($spawn); 
socket_close($socket); 

답변

0

입니다 소켓에 대기중인 연결은 첫 번째 연결이 사용됩니다. 보류중인 연결이없는 경우 연결이 존재할 때까지 socket_accept()이 차단됩니다. 서버에 클라이언트가 여러 개있는 경우 비 차단을 사용해야합니다.

socket_set_nonblock($socket); 
관련 문제