1.网络通信时几个阶段都需要三种数据:
GSocketConnection *conn; // 用于数据服务
GInputStream *input; // 用于接收消息
GOutputStream *output; // 用于发送消息
2.打开连接
首先创建一个用于监听和接收连接的辅助对像
GSocketClient *client = g_socket_client_new ()
成功返回一个GSocketClient对象,失败返回NULL
io超时设置
g_socket_client_set_timeout (client, n)
client就是前面创建的对象,n是一个无符整型,如果连接超时n秒(guint)则再次尝试。
这个函数在老的版本(至少在2.22.2)中没有,我是在2.25里找到的
打开连接
conn = g_socket_client_connect_to_host (client,
host,
port,
NULL, &error)
host是字符串类型的ip地址,port是guint类型的端口号,第四个参数是GCancellable类型,在这里设为NULL,第五个参数是error是GError **类的对象指针。
连接成功时创建和返回一个GSocketConnection对象&