?? metaclient.py
字號:
# $Id: metaclient.py,v 1.6 2002/02/17 21:43:37 marijn Exp $# An air traffic simulation game. This is the meta server. # Copyright (C) 2000,1,2 Marijn Vriens <marijn@sanity.dhs.org>## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or# (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA# sys libsimport setup import osos.environ["IDLPATH"] = setup.idl_dirimport CORBA, Meta, Meta__POAclass MetaClient: """ This is a class, a client for the server side of the meta server.""" def __init__(self, clientIor): print "MetaClient ctor" self._ior = clientIor self._orb = CORBA.ORB_init() if setup.sim_server_name == "": s = open("/etc/hostname").readline() self._name = s[:-1] else: self._name = setup.sim_server_name self._handle = self._readIor(setup.meta_server_ior) def _readIor(self, fileName): try: ior = open(fileName).readline() except IOError: print "Meta server ior could not retrieved from %s" % self._name os._exit(1) return self._orb.string_to_object(ior) def reloadIor(self): self._handle = self._readIor(setup.meta_server_ior) def announce(self): v = Meta.Version() v.major = setup.version.major v.minor = setup.version.minor v.patch = setup.version.patch i = Meta.ServerInfo() i.serverIor = self._ior i.hostName = self._name d = Meta.ServerData() d.maxUsers = 5 d.currentUsers = 0 d.simVersion = v self._id = self._handle.announce(i,d) print "Announced: Server to MetaServer: id=%d" % (self._id) def retract(self): self._handle.retract(self._id) def ping(self): self._handle.ping(self._id) def pingData(self): raise NotImplemented # $Log: metaclient.py,v $# Revision 1.6 2002/02/17 21:43:37 marijn# Improved server startup.## Revision 1.5 2002/02/01 15:07:36 marijn# updated copyright information## Revision 1.4 2001/11/30 05:40:47 marijn# Synced client and server code with new Meta IDL## Revision 1.3 2001/11/27 20:57:01 marijn# gets servername from /etc/hostname## Revision 1.2 2001/11/19 00:25:58 marijn# py merged back into HEAD## Revision 1.1.2.2 2001/11/14 06:27:47 marijn# Simserver now pings the meta server.## Revision 1.1.2.1 2001/11/11 05:22:40 marijn# merged programs into one. Removed unneeded threading stuff##
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -