=?UTF-8?B?W+axguWKqV3lhbPkuo5HTGli572R57uc57yW56iL?=
- From: Wang Kunshan <wks1986 gmail com>
- To: gnome-cn-list gnome org
- Subject: [求助]关于GLib网络编程
- Date: Sun, 26 Jul 2009 00:59:48 +0800
大家好
最近尝试用GLib进行网络编程,查阅了GLib是否有对于网络的抽象(包括Socket)。
google得到的文档主要是GIO。新的GIO合并了GNIO,提供了对网络的抽象,如GSocket,GInetAddress等底层对象,以及GSocketClient,GSocketConnection,GSocketService等高层抽象。
但是,新的GIO目前还在unstable状态,将在glib-2.22中发布。目前稳定的glib-2.20,这个版本虽然允许打开uri,但是完全屏蔽了网络,无法对协议(IPV4/V6,
TCP/UDP)进行控制。
我知道的是,目前,GLib对网络流、文件流的抽象是GIOChannel。这种实现更底层,GIOChannel的创建对unix和win32有区别,这就失去了GLib的跨平台的优势,同样,也是以“流”的形式抽象的,不适合udp
socket等应用。
限于代码阅读量小,我不知道,目前GNOME的诸多网络相关的程序,使用什么框架实现网络功能?比如直接操作socket,但是从逻辑上,GLib应该对操作系统的socket有一层封装。
我的问题是,目前(我是说现在,或不久的过去,不是将来)大多数GNOME程序用何种形式实现网络通信呢?
wks
2009年7月26日星期日
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]