2013-04-05 2 views
1

Я создал программу PHP, чтобы прослушать port.Here это код PHPНевозможно сделать телнет на PHP сокет кода

<?php 

if(!($sock = socket_create(AF_INET, SOCK_DGRAM, 0))) 
{ 
    $errorcode = socket_last_error(); 
    $errormsg = socket_strerror($errorcode); 
    die("Couldn't create socket: [$errorcode] $errormsg \n"); 
} 
echo "Socket created \n"; 


if(!socket_bind($sock, "192.168.0.177" , 5060)) 
{ 
    $errorcode = socket_last_error(); 
    $errormsg = socket_strerror($errorcode); 
    die("Could not bind socket : [$errorcode] $errormsg \n"); 
} 
echo "Socket bind OK \n"; 

while(1) 
{ 
    echo "Waiting for data ... \n"; 

    $r = socket_recvfrom($sock, $buf, 512, 0, $remote_ip, $remote_port); 

    echo $buf; 
} 

?> 

Но когда я делаю telnet 192.168.0.177 5060 я получаю сообщение

Could not open connection to the host on port 5060 

I проверил сервис telnet и выполнил его.

+0

«telnet 127.0.0.1 5060' работает? – hsz

+0

Это также не работает – iJade

+0

Вы получаете доступ к нему с сервера, создавшего сокет? – hsz

ответ

3

Это потому, что вы открываете сокет UDP, а telnet использует TCP.

+0

, а как сделать telnet-тип вещи для сокета UDP. – iJade

+0

@iBlue Вы уверены, что хотите UDP, а не TCP? – thejh

+0

ну на самом деле я хочу оба .... – iJade

Смежные вопросы