ClientDemo.php 878 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. if(!isset($argv[1]))
  3. {
  4. exit("usage php ClientDemo.php file_path file_type\n");
  5. }
  6. $file_path = $argv[1];
  7. if(!is_file($file_path))
  8. {
  9. exit("can not found $file_path\n");
  10. }
  11. // messge_type
  12. $file_type = isset($argv[2]) && $argv[2] > 0 ? (int)$argv[2] : 0;
  13. if(false === ($file_bin_data = file_get_contents($file_path)))
  14. {
  15. exit("can not get contents of $file_path\n");
  16. }
  17. $address = "tcp://127.0.0.1:2016";
  18. if(!($sock = stream_socket_client($address, $err_no, $err_str)))
  19. {
  20. exit("can not connect to $address $err_str");
  21. }
  22. $head_len = 5;
  23. $message_buffer = pack("NC", $head_len+strlen($file_bin_data), $file_type).$file_bin_data;
  24. fwrite($sock, $message_buffer);
  25. $recv_buffer = fread($sock, 65535);
  26. $recv_buffer_data = unpack("Nmessage_len/Cmessage_type", $recv_buffer);
  27. $recv_buffer_data['body']=substr($recv_buffer, $head_len);
  28. var_export($recv_buffer_data);