ນີ້ແມ່ນຄໍາສັ່ງ gupnp-binding-tool ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
gupnp-binding-tool - ສ້າງ C ສະດວກ wrappers ສໍາລັບການບໍລິການ UPnP
ສະຫຼຸບສັງລວມ
gupnp-binding-tool [--prefix {PREFIX}] [--mode {client|server}] {SCPD file}
ລາຍລະອຽດ
gupnp-binding-tool ເອົາໄຟລ໌ SCPD ແລະສ້າງຫນ້າທີ່ C ສະດວກທີ່ໂທຫາ
ຟັງຊັນ GUPnP ຕົວຈິງ. ການຜູກມັດດ້ານລູກຄ້າສາມາດເຫັນໄດ້ວ່າເປັນສະບັບສະເພາະຂອງການບໍລິການ
ຂອງ GUPnPServiceProxy API ແລະການຜູກມັດດ້ານການບໍລິການແມ່ນຄືກັນສໍາລັບ GUPnPService.
ຟັງຊັນທີ່ສ້າງຂຶ້ນເຫຼົ່ານີ້ມີ verbose ຫນ້ອຍແລະຍັງປອດໄພກວ່າຍ້ອນວ່າຕົວກໍານົດການເອີ້ນຟັງຊັນແມ່ນ
ພິມຢ່າງຖືກຕ້ອງ. ການປະຕິບັດ, ຕົວແປແລະຊື່ແບບສອບຖາມແມ່ນງ່າຍຕໍ່ການແກ້ໄຂດ້ວຍການຜູກມັດ
(ຫຼືຢ່າງຫນ້ອຍຄວາມຜິດພາດຈະເປັນຄວາມຜິດພາດທີ່ໃຊ້ເວລາລວບລວມແທນທີ່ຈະໃຊ້ເວລາແລ່ນ), ແລະຍັງເປັນ
ມີໃຫ້ຢູ່ໃນການແກ້ໄຂອັດຕະໂນມັດ.
CUSTOMER SIDE ການຜູກມັດ
ສໍາລັບຕົວຢ່າງ, ການປະຕິບັດນີ້:
ລຶບPortMapping
NewRemoteHost
ໃນ
RemoteHost
NewExternalPort
ໃນ
ຜອດພາຍນອກ
NewProtocol
ໃນ
PortMappingProtocol
ຈະສ້າງຟັງຊັນ synchronous client-side (control point) ຕໍ່ໄປນີ້:
gboolean ໃນແຖວຄົງທີ່
igd_delete_port_mapping (GUPnPServiceProxy *ພຣັອກຊີ,
const gchar *in_new_remote_host,
const guiint in_new_external_port,
const gchar *in_new_protocol,
GError **ຄວາມຜິດພາດ);
ດັ່ງທີ່ສາມາດເຫັນໄດ້, ການໂຕ້ຖຽງມີປະເພດທີ່ຖືກຕ້ອງແລະຖືກນໍາຫນ້າດ້ວຍການໂຕ້ຖຽງ
ທິດທາງ.
gupnp-binding-tool ສ້າງທັງ wrappers synchronous ແລະ asynchronous. ໄດ້
igd_delete_port_mapping ຕົວຢ່າງຂ້າງເທິງນີ້ແມ່ນຮູບແບບ synchronous, ຮູບແບບ asynchronous ແມ່ນເປັນ
ຕໍ່ໄປນີ້:
typedef void (*igd_delete_port_mapping_reply) (GUPnPServiceProxy *proxy,
GError * ຄວາມຜິດພາດ,
gpointer userdata);
static inline GUPnPServiceProxyAction *
igd_delete_port_mapping_async (GUPnPServiceProxy *ພຣັອກຊີ,
const gchar *in_new_remote_host,
const guiint in_new_external_port,
const gchar *in_new_protocol,
igd_delete_port_mapping_reply callback,
gpointer userdata);
ຮູບແບບ asynchronous (ປະຕິບັດໂດຍໃຊ້ gupnp_service_proxy_begin_action() ແລະ
gupnp_service_proxy_end_action()) ຈະກັບຄືນມາໂດຍບໍ່ມີການສະກັດແລະຕໍ່ມາຮຽກຮ້ອງໃຫ້
ໂທກັບຄືນຈາກ loop ຕົ້ນຕໍເມື່ອໄດ້ຮັບການຕອບກັບ.
ເຄື່ອງມືຍັງສ້າງການຜູກມັດສໍາລັບການແຈ້ງເຕືອນຕົວແປຂອງລັດ. ຕົວແປສະຖານະນີ້
ຄໍານິຍາມ:
ທີ່ຢູ່ IP ພາຍນອກ
ສາຍ
ຈະສ້າງການຜູກມັດລູກຄ້ານີ້ທີ່ສາມາດໃຊ້ເພື່ອຮັບການແຈ້ງເຕືອນໄດ້
"ExternalIPAddress" ການປ່ຽນແປງ:
typedef void
(*igd_external_ip_address_changed_callback) (GUPnPServiceProxy *proxy,
const gchar *external_ip_address,
gpointer userdata);
gboolean ໃນແຖວຄົງທີ່
igd_external_ip_address_add_notify (GUPnPServiceProxy *proxy,
igd_external_ip_address_changed_callback callback,
gpointer userdata);
ຕົວຢ່າງທັງໝົດໄດ້ຖືກຜະລິດດ້ວຍເຄື່ອງມື gupnp-binding--prefix igd --mode client
WANIPConnection.xml.
ຜູ້ໃຫ້ບໍລິການ SIDE ການຜູກມັດ
ການຜູກມັດເຊີບເວີທີ່ສອດຄ້ອງກັນສໍາລັບການດໍາເນີນການ UPnP ດຽວກັນ (DeletePortMapping) ເບິ່ງຄືວ່າ
ນີ້:
void
igd_delete_port_mapping_action_get (GUPnPServiceAction *action,
gchar **in_new_remote_host,
guiint *in_new_external_port,
gchar **in_new_protocol);
ກູລອງ
igd_delete_port_mapping_action_connect (GUPnPService *ບໍລິການ,
ໂທກັບ GCallback,
gpointer userdata);
ຟັງຊັນ *_action_connect() ທີ່ສ້າງຂຶ້ນສາມາດຖືກນໍາໃຊ້ເພື່ອເຊື່ອມຕໍ່ຕົວຈັດການການປະຕິບັດ. ໄດ້
ຟັງຊັນ *_action_get() ແລະ *_action_set() ສາມາດນຳໃຊ້ພາຍໃນຕົວຈັດການການກະທຳເພື່ອ
ຮັບ/ຕັ້ງຕົວແປການກະທຳ. ຖ້າຕົວແປການແຈ້ງເຕືອນຖືກດັດແກ້, *_variable_notify()
ຄວນໃຊ້ເພື່ອສົ່ງການແຈ້ງເຕືອນ (ເບິ່ງຂ້າງລຸ່ມນີ້).
typedef gchar *(*igd_external_ip_address_query_callback) (GUPnPService *ການບໍລິການ,
gpointer userdata);
ກູລອງ
igd_external_ip_address_query_connect (GUPnPService *ບໍລິການ,
igd_external_ip_address_query_callback callback,
gpointer userdata);
void
igd_external_ip_address_variable_notify (GUPnPService *ການບໍລິການ,
const gchar *external_ip_address);
ຟັງຊັນ *_query_connect() ສາມາດໃຊ້ເພື່ອເຊື່ອມຕໍ່ຕົວຈັດການແບບສອບຖາມສະເພາະບໍລິການ.
ຄ່າກັບຄືນຂອງຕົວຈັດການແມ່ນຄ່າຕົວແປຂອງສະຖານະທີ່ສົ່ງຄືນ.
ຕົວຢ່າງທັງຫມົດໄດ້ຖືກຜະລິດດ້ວຍ gupnp-binding-tool --prefix igd --mode server
WANIPConnection.xml.
COPYRIGHT
ສະຫງວນລິຂະສິດ © 2007, 2008, 2009 OpenedHand Ltd, Nokia Corporation
ການອະນຸຍາດແມ່ນອະນຸຍາດໃຫ້ສໍາເນົາ, ແຈກຢາຍແລະ / ຫຼືປັບປຸງແກ້ໄຂເອກະສານນີ້ພາຍໃຕ້ເງື່ອນໄຂຂອງ
ໃບອະນຸຍາດເອກະສານຟຣີ GNU, ສະບັບ 1.1 ຫຼືສະບັບຕໍ່ມາທີ່ຈັດພີມມາໂດຍການຟຣີ
ພື້ນຖານຊອບແວທີ່ບໍ່ມີສ່ວນທີ່ບໍ່ປ່ຽນແປງ, ບໍ່ມີຂໍ້ຄວາມປົກໜ້າ, ແລະບໍ່ມີໜ້າປົກຫຼັງ
ບົດເລື່ອງ. ທ່ານອາດຈະໄດ້ຮັບສໍາເນົາຂອງໃບອະນຸຍາດເອກະສານຟຣີ GNU ຈາກຊອບແວຟຣີ
ມູນນິທິໂດຍການຢ້ຽມຢາມ ຂອງເຂົາເຈົ້າ ເວັບໄຊຕ໌ ເວັບໄຊ ຫຼືໂດຍການຂຽນໄປທີ່:
Free Software Foundation, Inc.,
59 ສະຖານທີ່ວັດ - ຊຸດ 330,
Boston, MA 02111-1307,
ອາເມລິກາ
ໃຊ້ gupnp-binding-tool ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net