1
0

client.cpp 839 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #include "log.h"
  2. #include "zio.h"
  3. #include "message_file.h"
  4. int main()
  5. {
  6. int sock=zio::build_stream();
  7. if(zio::connect(sock,"127.0.0.1",4000))
  8. {
  9. return -1;
  10. }
  11. zio::setiobuf(sock,32<<10,64<<10);
  12. zio::setblocking(sock,false);
  13. int len=1;
  14. int count=0x400+2;
  15. char buf[8192];
  16. uint64_t time;
  17. #if 1
  18. for(int i=0;i<8000;i++)
  19. {
  20. buf[i]='1';
  21. }
  22. buf[0]=0x04;
  23. buf[1]=0x00;
  24. char recv_buf[8192];
  25. for(;;)
  26. {
  27. while(zio::read(sock,recv_buf,sizeof(recv_buf))>0);
  28. if(count!=zio::writev(sock,buf,count))
  29. break;
  30. }
  31. #else
  32. message_file mf(stdin);
  33. count=0;
  34. while(len>0)
  35. {
  36. while((len=mf.get_line(&time,&buf[count],sizeof(buf)-count)))
  37. {
  38. count+=len;
  39. if(count>1024)
  40. break;
  41. }
  42. log_info("count=%d",count);
  43. if(count!=zio::writev(sock,buf,count))
  44. break;
  45. count=0;
  46. }
  47. #endif
  48. zio::close(sock);
  49. return 0;
  50. }