方法

GioSocketClientadd_application_proxy

声明 [src]

void
g_socket_client_add_application_proxy (
  GSocketClient* client,
  const gchar* protocol
)

描述 [src]

启用代理协议由应用程序处理。当通过 GProxyResolver 返回指定代理协议时,GSocketClient 将将该协议视为受支持协议,但不会尝试查找处理握手的 GProxy 实例。应用程序必须通过在返回的 GSocketConnection 上调用 g_socket_connection_get_remote_address() 来检查这种情况,并查看它是否是适当类型的 GProxyAddress,以确定是否需要自行处理代理握手。

这应用于如 HTTP 代理之类的其他协议方言的代理协议。它还允许位于协议之间的代理协议共存。一个很好的例子是 HTTP。它可以用来代理 HTTP、FTP 和 Gopher,也可以通过 HTTP CONNECT 方法用作通用的套接字代理。

当检测到代理为应用代理时,将跳过 TLS 握手。这是为了让应用程序进行特定代理的手动握手。

参数

协议

类型: const gchar*

代理协议。

这些数据由该方法调用者拥有。
该值是一个以 NUL 结束的 UTF-8 字符串。