我们或多或少都会接触到协议,而且协议本身也是 形形色色 五花八门 不一而足。先看上午发文的代码,为了整改这个代码,我代表公司的java组与c++部门进行联调,搞到昨晚10点。
- public void write(String message, List<? extends Object> recipients) {
- int length = message.getBytes().length + 1;
- String httpHeader = "POST /sns HTTP/1.1\nContent-Length:" + length
- + "\n\n";
- logger.info(httpHeader + message);
- session.write(httpHeader + message);
- }
复制代码粗看,这个代码貌似没有问题,用单元测试(所以经典的说法是,单元测试并不表示你的代码都是对的,而仅仅表示‘代码没有出错’ ——换言之,莫以为单元测试是万能的,只是没有单元测试是万万不能)也能跑出如下的结果。
- POST /sns HTTP/1.1
- Content-Length:294
- <?xml version="1.0"?><soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"><soap:Body xmlns:m="http://www.example.org/stock"><m:GetStockPrice><m:StockName>IBM</m:StockName></m:GetStockPrice></soap:Body></soap:Envelope>
复制代码