libsearpc-server
AI摘要
GPT
Server
初始化
在使用服务之前,必须得先对服务所需的一些结构进行初始化。1
2
3
4
5
6
7
8
9
10void
searpc_server_init (RegisterMarshalFunc register_func)
{
marshal_table = g_hash_table_new_full (g_str_hash, g_str_equal,
NULL, (GDestroyNotify)marshal_item_free);
service_table = g_hash_table_new_full (g_str_hash, g_str_equal,
NULL, (GDestroyNotify)service_free);
register_func ();
}
可以看到这里涉及到marshal_table
、service_table
以及register_func
(也就是RegisterMarshalFunc
)。
libsearpc-请求与回复
AI摘要
GPT
前面说过一次通信的数据包分两次发送,第一个存储实际数据的大小,第二个存储实际的数据。
事实上,为了方便服务端客户端更好地对收到的数据进行处理,发送的实际的数据本身也有一定的格式。
libsearpc
AI摘要
GPT
介绍
Searpc
是Seafile
项目中基于GObject
系统的一个简单的C语言RPC框架,当然为了使其Web
框架Seahub
通配,所以也支持了python
语言。
github地址: https://github.com/haiwen/libsearpc