⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 metaclient.py

📁 开源游戏代码
💻 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 + -