Witojcie ludziska,
poszukuje osoby co wypełni lukę w mojej wiedzy dotyczącej wysyłania bajtasów z PHPasa

dżawasa robi to tak:

  1. private byte[] prepareRequest(int command, long parameter) {//parsuje zmienne przed wysyłką na wartość byte
  2.  
  3. byte[] bytes = new byte[6];
  4.  
  5. bytes[0] = (byte) (command >> 8);
  6. bytes[1] = (byte) (command);
  7. bytes[2] = (byte) (parameter >> 24);
  8. bytes[3] = (byte) (parameter >> 16);
  9. bytes[4] = (byte) (parameter >> 8);
  10. bytes[5] = (byte) (parameter >> 0);
  11.  
  12. return bytes;
  13. }
  14.  
  15. private byte[] sendAndGetResponse(byte[] request) throws IOException {//wysyła i odpiera
  16.  
  17. socket.getOutputStream().write(request);
  18. socket.getOutputStream().flush();
  19.  
  20. InputStream in = socket.getInputStream();
  21. byte[] response = new byte[6];
  22. in.read(response);
  23.  
  24. return response;
  25. }
  26.  
  27. private int getResponseCommand(byte[] response) { //parsuje odpowiedz
  28.  
  29. if(response==null || response.length != 6){
  30. throw new IllegalArgumentException();
  31. }
  32.  
  33. int value = 0;
  34. value += ((int) response[1] & 0xffL) << (8 * 0);
  35. value += ((int) response[0] & 0xffL) << (8 * 1);
  36.  
  37. return value;
  38. }

Tutaj jedno z wielu moich podejść na wesje PHP:

  1. if(!($sock = socket_create(AF_INET, SOCK_STREAM, 0)))//tworze sobie socket
  2. {
  3. $errorcode = socket_last_error();
  4. $errormsg = socket_strerror($errorcode);
  5.  
  6. die("Couldn't create socket: [$errorcode] $errormsg <br>");
  7. }
  8.  
  9. if(!socket_connect($sock , 'IP' , PORT))//łącze się
  10. {
  11. $errorcode = socket_last_error();
  12. $errormsg = socket_strerror($errorcode);
  13.  
  14. die("Could not connect: [$errorcode] $errormsg \n");
  15. }
  16.  
  17. $message = 121;
  18. $parameter = 0;
  19.  
  20. $bytes[0] = $message >> 8;
  21. $bytes[1] = $message;
  22. $bytes[2] = $parameter >> 24;
  23. $bytes[3] = $parameter >> 16;
  24. $bytes[4] = $parameter >> 8;
  25. $bytes[5] = $parameter >> 0;
  26.  
  27.  
  28. //Send the message to the server
  29. if( ! socket_send ( $sock , pack('n',$bytes) , 6 , 0))//TUTAJ MOJA PROTEZA WYSYŁKOWA RACZEJ BŁĘDNA
  30. {
  31. $errorcode = socket_last_error();
  32. $errormsg = socket_strerror($errorcode);
  33.  
  34. die("Could not send data: [$errorcode] $errormsg \n");
  35. }
  36.  
  37. $data = socket_read($sock,6);//TUTAJ CZEKAM NA ODPOWIEDZ ALE SOECKECIK DO MNIE NIE CHCE MÓWIĆ ;)
  38. $x = unpack("n",$data);
  39. echo $x;
  40.  

Może ktosik cosik podpowiedzieć?