这是libwebsocket_client_connect()的签名。
struct libwebsocket * libwebsocket_client_connect (struct libwebsocket_context * context, const char * address, int port, int ssl_connection, const char * path, const char * host, const char * origin, const char * protocol, int ietf_version_or_minus_one)在这些参数中,我混淆了host和origin是什么。
在对参数的描述中,它表示
host : Hostname on server
origin : Socket origin name似乎每个服务器和客户端的域名或IP地址。
而且只有当我放置127.0.0.1或localhost时,它才正常工作(因为我在本地主机websocket服务器和客户端都进行了测试)
但是如果是这样的话,我认为这个函数已经有了服务器IP或域名的地址字段,为什么它会有重复的字段呢?
发布于 2014-11-27 17:26:45
主机http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.23 字段指定被请求资源的Internet主机和端口号,这是从用户或引用资源(通常是HTTP )提供的原始URI中获得的。 原产地https://www.rfc-editor.org/rfc/rfc6454#section-7.2 当包含在HTTP请求中时,Origin字段指示 “导致”用户代理发出请求的来源,如 由触发用户代理以发出 请求。
主机是请求的目标,而源是创建websocket客户端的域。例如,如果在example1.com上有一个页面,并且该页面打开一个websocket到example2.com,那么example1.com将是源,example2.com将是主机。
https://stackoverflow.com/questions/27175627
复制相似问题