Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Odczyt danych z portu serwera
phpmack
post
Post #1





Grupa: Zarejestrowani
Postów: 55
Pomógł: 1
Dołączył: 11.06.2011

Ostrzeżenie: (0%)
-----


Witam
przeszukałem forum wypróbowałem z 10 przykładów w różnych konfiguracjach ale nie mogę sobie poradzić z odczytem danych z postu serwera.
Mam apache na Linuksie - nasłuchuje na dwóch portach standardowo na 80 i dodatkowo na 8010. Na porcie 80 stoi strona(sztywno ustawiony socket w VH 192.168.0.157:80 ) natomiast na port 8010 są wysyłane dane z urządzenia GPRS oba porty są przekierowane na routerze tak aby były widziane z zewnątrz strona działa poprawnie a na port 8010 przychodzą pakiety z urządzenia GPRS - widać w WIRESHARKU jednak nie jestem w stanie pobrać tych danych i wyświetlić za pomocą PHP :/

przykład z tego forum: (wyświetla się pusta strona)
  1. <?php
  2.  
  3. // Set the ip and port we will listen on
  4. $host = 192.168.0.157;
  5. $port = 8010;
  6.  
  7.  
  8. // create low level socket
  9. if(!$socket=socket_create(AF_INET,SOCK_STREAM,0)){
  10. trigger_error('Error creating new socket',E_USER_ERROR);
  11. }
  12.  
  13. # reuse socket tweak
  14. if (!socket_set_option($socket, SOL_SOCKET, SO_REUSEADDR, 1)) {
  15. echo socket_strerror(socket_last_error($socket));
  16. }
  17.  
  18. // tie up socket to TCP port
  19. if(!socket_bind($socket,$host,$port)){
  20. trigger_error('Error binding socket to TCP host:'.$host.', port:'.$port.'',E_USER_ERROR);
  21. }
  22.  
  23. // begin listening connections
  24. if(!socket_listen($socket)){
  25. trigger_error('Error listening socket connections',E_USER_ERROR);
  26. }
  27.  
  28. // create communication socket
  29. if(!$comSocket=socket_accept($socket)){
  30. trigger_error('Error creating communication socket',E_USER_ERROR);
  31. }
  32.  
  33. // read socket input
  34. $socketInput=socket_read($comSocket,1024);
  35.  
  36. //write data to file
  37. echo $socketInput;
  38. // close sockets
  39. socket_close($comSocket);
  40.  
  41. socket_close($socket);
  42. ?>


przykład 2 pusta strona (zapętla się w nieskończoność ale nadal nic nie wyświetla)

  1. <?php
  2. //The Server
  3. $address = "192.164.0.157";
  4. $port = "8010";
  5.  
  6.  
  7. /* create a socket in the AF_INET family, using SOCK_STREAM for TCP connection */
  8. $mysock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  9.  
  10. socket_bind($mysock, $address, $port);
  11.  
  12. socket_listen($mysock, 5);
  13.  
  14. $client = socket_accept($mysock);
  15.  
  16. echo "Server started, accepting connections...\n";
  17.  
  18.  
  19. $i = 0;
  20. while (true == true)
  21. {
  22. $i++;
  23. echo "Sending $i to client.\n";
  24. socket_write($client, $i, strlen($i));
  25.  
  26. $input = socket_read($client, 2048);
  27. echo "Response from client is: $input\n";
  28. sleep(5);
  29. }
  30.  
  31. echo "Closing sockets...";
  32. socket_close($client);
  33.  
  34. socket_close($mysock);
  35.  
  36. ?>


przykład 3 (wyrzuca: //host = 192.168.0.157 //port = 8010 Address already in use (0))
  1. <?php
  2. $socket = stream_socket_server("tcp://192.168.0.157:8010", $errno, $errstr);
  3. if (!$socket) {
  4. echo "$errstr ($errno)<br />\n";
  5. } else {
  6. while ($conn = stream_socket_accept($socket)) {
  7. fwrite($conn, 'The local time is ' . date('n/j/Y g:i a') . "\n");
  8. fclose($conn);
  9. }
  10. fclose($socket);
  11. }
  12. ?>


jakieś pomysły?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 20:30