xunsearch
xunsearch copied to clipboard
建议:在需要发送的结构中使用uint32_t代替所有int并在发送时转为网络序
以结构体scws_response
为例
https://github.com/hightman/xunsearch/blob/d1b72c797d7e77754c898b60b91fbec723ab064e/src/task.cc#L1977-L1982
根据后续代码,这个结构体是直接发送内存的。
如果客户端和服务端不在同一台服务器上,那么有可能客户端和服务端int
大小不同或者字节序不同,关键是客户端和服务端都无法检测这一点。
最简单的方法是统一使用网络序(即大端)32位整数,已经足够表示4GB空间。如果32位整数可能不够,至少给客户端一个检测的手段(增加一个命令或在配置文件中加入这一项)