客户端发送消息给服务端时,服务端可能要多次回应客户端。那么响应时间是从第一次客户端开始发消息到接收到服务端第一次的时间 还是从第一次客户端开始发送消息到接收到服务端所有的消息都接收完了这段时间呢
类似qps与tps,第一次收到需要测试,整个事务完成也得测试。这属于不同的性能项,衡量的指标不同。
服务器每次发送,都是网络时间加上服务器的计算时间,每次回应的时间最好都要统计,第二次回复消息是复用了首次建立的链接,省去了链接建立时间。
简单的方式用服务器首次响应时间,复杂的方式把首次和最后一次看成事务,再统计事务的性能,用最后一次的响应时间。
感谢思寒老师的指点,就是我现在想根据接收的数据是否为空来判断是否是服务端最后一次发数据,但实际发现最后一次发送完成之后,recv()方法一直处于阻塞状态无法进行到下一步。不知道怎么判断数据是服务端最后一次发过来的。
你可以用下高层的封装,直接socket的话,很容易用错。