锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品久久久无码人妻中文字幕豆芽,青青草国产精品久久,国产韩国精品一区二区三区久久http://www.shnenglu.com/socketref/category/12988.htmlgis,mouse,luolasizh-cnThu, 02 Jul 2015 11:30:25 GMTThu, 02 Jul 2015 11:30:25 GMT60salesforce鐨刼auth鎺堟潈http://www.shnenglu.com/socketref/archive/2015/06/29/211090.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Mon, 29 Jun 2015 12:21:00 GMThttp://www.shnenglu.com/socketref/archive/2015/06/29/211090.htmlhttp://www.shnenglu.com/socketref/comments/211090.htmlhttp://www.shnenglu.com/socketref/archive/2015/06/29/211090.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/211090.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/211090.html璁塊棶sf錛岃褰曚笅涓涓嬩唬鐮?br />
錛堟敞鍐宻f鐨刟pp錛岀櫥璁?callback-url,鎵цsql鏌ヨ錛?br />
#coding:utf-8
__author__ = 'scott'
import imp
imp.load_source('init','../init_script.py')
import urllib2,urllib,json,sys,os
import traceback,threading,time,struct,os,os.path,shutil,distutils.dir_util,array,base64,zlib,struct,binascii
import datetime
from libs.python.lemon import webapi
callback = 'http://localhost:8002/oauth'
client_id = '3MVG9ZL0ppGP5UrC_wQ8U02mOhowPKwjeaaLsWZ3BcYYVqiSsy1rL_D2h6qG.rGPnb_j6IcgLHPdhmvomzDFj'
client_secret = '9046731979xxxxxxx'

def accessToken(request,code,state):
    url = 'https://login.salesforce.com/services/oauth2/token'
    data = {
        'grant_type':'authorization_code',
        'code':code,
        'client_id':client_id,
        'client_secret':client_secret,
        'redirect_uri':callback
    }
    result = ''
    try:
        result = urllib2.urlopen(url,urllib.urlencode(data) )
    except:
        traceback.print_exc()
    result = result.read()
    return json.loads( result )

def oauth(request):
    cr = webapi.SuccCallReturn()
    code =  webapi.GET(request,'code','')
    state = webapi.GET(request,'state','')
    cr.result=[code,state]
    token = accessToken(request,code,state)
    cr.result.append(token)
    print token
    try:
        sqlExecute(token['access_token'],token['instance_url'])
    except:
        traceback.print_exc()
    return cr.httpResponse()

import cookielib

# -H "Authorization: OAuth token" -H "X-PrettyPrint:1" "
def sqlExecute(token,url_host):
    httpHandler = urllib2.HTTPHandler(debuglevel=1)
    httpsHandler = urllib2.HTTPSHandler(debuglevel=1)
    opener = urllib2.build_opener(httpHandler, httpsHandler)
    urllib2.install_opener(opener)
    sf_cmd_query="%s/services/data/v20.0/query/?%s"%(url_host, urllib.urlencode({'q':'select count() from account'}))
    headers = {
        'Authorization':'OAuth %s'%token,
        'X-PrettyPrint':1
    }
    httpReq = urllib2.Request( sf_cmd_query,headers=headers )
    r = opener.open(httpReq).read()
    print r
    pass

url1 = """https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=%s&redirect_uri=%s&state=first"""%(client_id,callback)

def launchBrowserForOAuth():
    import webbrowser
    webbrowser.open(url1)

if __name__ == '__main__':
    launchBrowserForOAuth()


鏀懼眮闃跨嫍 2015-06-29 20:21 鍙戣〃璇勮
]]>
Rpc+Mq瀹炵幇鍒嗗竷寮忕郴緇?/title><link>http://www.shnenglu.com/socketref/archive/2012/11/22/195531.html</link><dc:creator>鏀懼眮闃跨嫍 </dc:creator><author>鏀懼眮闃跨嫍 </author><pubDate>Thu, 22 Nov 2012 02:50:00 GMT</pubDate><guid>http://www.shnenglu.com/socketref/archive/2012/11/22/195531.html</guid><wfw:comment>http://www.shnenglu.com/socketref/comments/195531.html</wfw:comment><comments>http://www.shnenglu.com/socketref/archive/2012/11/22/195531.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/socketref/comments/commentRss/195531.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/socketref/services/trackbacks/195531.html</trackback:ping><description><![CDATA[鑱婅亰鑽夎崏<br />瀹炵幇涓濂楅氫俊妗嗘灦 <br />A - 縐誨姩緇堢錛?B - 鎺ュ叆鏈嶅姟鍣?緗戝叧) , C,D,E - 鍐呴儴鏈嶅姟緋葷粺 錛?M -鍐呴儴鏈嶅姟緋葷粺鐨勬秷鎭槦鍒?<br />B 鐢ㄤ簬鎺ュ叆鎴愬崈涓婁竾鐨凙錛孊涓嶅叿澶囦笟鍔¤兘鍔涳紝鍙湁CDE鎵嶈兘涓嶢榪涜涓氬姟浜や簰錛孧鍏呭綋娑堟伅綆¢亾銆?br />涓鑸殑鍋氭硶錛屽悇涓郴緇熸ā鍧楁寚瀹氭爣鍑嗗崗璁紝鍙互鏄痻ml鎴栬呬簩榪涘埗鐨勶紝鐒跺悗鍚勫紑鍙戝悇鐨勶紝socket鎴栬卙ttp絳夐儴浠訛紝寮鍙戣璦涔熸槸cpp錛宲ython錛宩ava榻愪笂闃點?br />榪欑寮鍙戞ā寮忚繃浜庣箒鐞愶紝妯″潡涔嬮棿鐨勮﹀悎姣旇緝绱у瘑錛屽簲璇ユ妸搴旂敤鍜岄氫俊緇嗚妭鍓ョ鍑烘潵銆?br />鎴戠殑鍋氭硶鏄墍鏈夋湁緋葷粺瀵硅薄涔嬮棿鐨勬秷鎭紶閫掗兘鏄熀浜嶳pc鎺ュ彛綰х殑璋冪敤錛屾洿鏈笉璁捐閫氫俊銆佸崗璁紪鐮侊紝鍙鏍規嵁IDL灝卞彲浠ワ紝A璇鋒眰C鐨勬湇鍔★紝閭鍙渶瑕佽皟鐢–鐨勬帴鍙e嚱鏁板嵆鍙紝搴曢儴鐨勫伐浣滐細<br />A鍒癇鐨剆ocket閫氫俊錛孊灝咥鐨勬秷鎭漿鎹㈠埌M錛孧鍐嶄紶杈撳埌C錛岃繖浜涘伐浣滈兘鍙互閫忚繃Rpc灞傚畬鎴愰忔槑錛屽弽榪囨潵C鐨勮皟鐢ㄨ姹備篃瀹夊師璺繑鍥炲埌A銆?br />C瑕佸彂閫佹秷鎭埌A錛岄偅璋冪敤A鐨勬帴鍙o紝rpc灞傝嚜鍔ㄥ皢璇鋒眰杞寲鏈狹Q鍗忚錛岃璺敱鍒癇錛孊鎵懼埌A鐨勯摼鎺ワ紝騫跺皢Mq娑堟伅杞寲鏈猻ocket娑堟伅浼犻掑埌A錛孉绔帴鏀舵秷鎭漿鎹㈡垚Rpc鍑芥暟鍥炶皟鍒癆鐨勫簲鐢ㄤ唬鐮併?br /><br />闄や簡綆鍗曠殑璋冪敤銆佽繑鍥炴柟寮忚繕鏈?br />鍗曢」璋冪敤璇鋒眰銆佸紓姝ヨ皟鐢ㄨ姹傘佹秷鎭箍鎾姹?br /><br />B绔彲浠ラ氳繃澶栭儴閰嶇疆浣垮緱A鐨勮姹傝礬鐢卞埌C錛屾垨鑰匘錛屾垨鑰呭叏閮ㄦ帴鏀訛紝鍙栧喅涓庡簲鐢ㄩ渶姹?搴旂敤榪樻槸闆嗙兢)<br />MQ濡傛灉緋葷粺鎬葷嚎涓鑸紝灝嗗悇涓湇鍔″瓙緋葷粺閾炬帴鎴愮綉緇滐紝鏄瀯鎴愭暣涓郴緇熺殑鍩虹銆俁pc鍙互瑙h劚紼嬪簭鍛橈紝璁╁叾灝嗙粡鍘嗚姳鍦ㄥ叿浣撲笟鍔′笂錛岃屼笖鍩烘湰鍙緙栧啓鑻ュ共鐨勬湇鍔℃帴鍙e嚱鏁板嵆鍙?br /><br />褰撶劧瑕佸疄鐜頒互涓婂姛鑳界壒鐐癸紝寰堝鍙敤鐨勬鏋訛紝CORBA錛孌COM錛孖CE絳夌瓑錛屼絾榪欎簺榪囦簬搴炲ぇ錛屽鐜瑕佹眰涔熸湁闄愬埗錛屽鏋滆鏇撮珮鏁堛佺伒媧葷殑榪愮敤鍜屽寘瑁呴渶瑕佸ぇ閲忎慨鏀瑰叾搴曞眰浠g爜錛屼笌絎笁鏂圭殑鏁村悎鍙兘宸ヤ綔鍦ㄤ粬浠殑涓婂眰鎺ュ彛涓婏紝榪欎釜浠や漢寰堟伯涓э紝浼氬鑷翠駭鐢熸洿澶氱殑渚濊禆鍜屽鏉傜殑緙栫▼鎶宸с?br />榪欎簺鍏ㄩ兘涓㈠純錛岃繕鏄嚜宸辯殑rpc<img src ="http://www.shnenglu.com/socketref/aggbug/195531.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/socketref/" target="_blank">鏀懼眮闃跨嫍 </a> 2012-11-22 10:50 <a href="http://www.shnenglu.com/socketref/archive/2012/11/22/195531.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>python緙栧啓緗戠粶閫氫俊妗嗘灦-鍩轟簬綰跨▼鐨勬秷鎭紶閫?/title><link>http://www.shnenglu.com/socketref/archive/2012/03/08/167450.html</link><dc:creator>鏀懼眮闃跨嫍 </dc:creator><author>鏀懼眮闃跨嫍 </author><pubDate>Thu, 08 Mar 2012 15:12:00 GMT</pubDate><guid>http://www.shnenglu.com/socketref/archive/2012/03/08/167450.html</guid><wfw:comment>http://www.shnenglu.com/socketref/comments/167450.html</wfw:comment><comments>http://www.shnenglu.com/socketref/archive/2012/03/08/167450.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/socketref/comments/commentRss/167450.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/socketref/services/trackbacks/167450.html</trackback:ping><description><![CDATA[     鎽樿: 鑰楁椂1澶╋紝鏍規嵁鍏徃搴旂敤闇姹傦紝寮鍙戜竴縐嶇畝鏄撶殑鍩虹鐨勯氫俊妗嗘灦錛岀畝鍖栫郴緇熷叾瀹冩ā鍧楀湪緗戠粶閫氫俊宸ヤ綔鏂歸潰鐨勫鏉傚害綆鍗曟祴璇昻etwork.py service 鍋氭湇鍔″櫒錛宯etwork.py client鍋氬鎴風錛屼紶閫佸涓秷鎭姤鏂囷紝涓旇兘鍝嶅簲sock榪炴帴鍜屾柇寮鐘舵佽冭檻鍒版ц兘鍜屽疄闄呴」鐩綰跨▼闇姹傦紝鏁呴兘閲囩敤鍗曡繛鎺ュ崟綰跨▼妯″紡錛岄鐣檚elect澶氳礬澶嶇敤鎺ュ彛錛屽彲瑙? service.selectIn()Code highl...  <a href='http://www.shnenglu.com/socketref/archive/2012/03/08/167450.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/socketref/aggbug/167450.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/socketref/" target="_blank">鏀懼眮闃跨嫍 </a> 2012-03-08 23:12 <a href="http://www.shnenglu.com/socketref/archive/2012/03/08/167450.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>swMap鐨凾ile緙撳啿瀹炵幇http://www.shnenglu.com/socketref/archive/2011/07/11/150711.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Mon, 11 Jul 2011 14:34:00 GMThttp://www.shnenglu.com/socketref/archive/2011/07/11/150711.htmlhttp://www.shnenglu.com/socketref/comments/150711.htmlhttp://www.shnenglu.com/socketref/archive/2011/07/11/150711.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/150711.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/150711.html 瀛︿範榪嘙apGuid,MapServer,Qgis絳夊縐嶅紑婧愬湴鍥懼鐞嗘湇鍔¤蔣浠訛紝寮鍙戜簡閬靛驚WMS鏍囧噯鐨勫湴鍥炬湇鍔★紝鍖呮嫭wms鎺ュ叆錛屽湴鍥炬覆鏌撴湇鍔°?br /> 榪?騫寸殑鏃墮棿璺戠殑鍦板浘灞曠ず閮芥槸wms鏈嶅姟鍣ㄥ疄鏃惰姹俆ileServer榪涜緇樺埗錛孴ileserver榪涚▼琚儴緗插湪涓鍙伴珮绔殑鏈嶅姟鍣ㄤ笂錛屽悓鏃跺惎鍔ㄤ簡8涓湇鍔¤繘紼嬶紝璁塊棶蹇欑鐨勬椂鍊欐満鍣ㄦ湁鐐瑰悆涓嶆秷錛屽氨鐪嬪埌cpu閭f牴綰塊鐨勫緢楂樸?br /> geoserver榪欎釜鐢╦ava鍋氱殑wms鏈嶅姟鍣紝鎬ц兘涓嶆暍鎭淮錛岀帺geoserver鐨勬椂鍊欐帴瑙︿簡tilecahce榪欎釜寮婧愯蔣浠訛紝鐩墠璺戝暐鐗堟湰灝變笉娓呮浜嗭紝涔嬪墠灝嗗叾鐮旂┒浜嗕釜鏄庣櫧錛岀煡閬撹嚜宸遍渶瑕佺殑鏄粈涔堬紝鎵浠ヤ竴鍒囪繕鏄緱鑷繁鍐欍?br /> 瀵規垜鏉ヨtilecache涓嶅疄鐢ㄧ殑鍘熷洜鏈夊涓?
1.鏀寔榪囧鐨刢ahce 瀛樺偍鏂瑰紡錛屼粈涔坓oogle鐨勬暟鎹簱錛宱racle鐨勪篃鏈夛紝铏界劧浠g爜妗嗘灦鐨勫ソ錛屼絾寰堝涓滆タ閮戒笉綆$敤錛屾墍浠ヤ唬鐮佺淮鎶や笉澶熺伒媧?br /> 2.tilecache閫氳繃apache鎻愪緵web鐨剋ms鏈嶅姟錛岀劧鍚巘ilecahe閲屽啀璇鋒眰鍚庣鐨刧eoserver鏈嶅姟錛屼駭鐢熺殑cache鏍規嵁浠栧畾 涔夌殑涓涓綉鏍間緷嬈℃寜x,y,z鐨勭儲寮曞瓨鍌ㄥ湪鏂囦歡緋葷粺閲岄潰錛屽茍灝嗗浘褰㈣繘琛岀紪鐮佸垎綾匯傝繖縐嶅疄鐜板茍娌℃湁闂錛屼絾瑕佺煡閬撹繖浜沜ache鍑烘潵鐨勫浘鍍忔枃浠舵槸閭d箞鐨勫涓?閮介浂紕庯紝鏈変簺鍥劇墖榪樺涓嶄笂涓涓枃浠剁郴緇熷熀鏈殑涓涓瓨鍌ㄩ〉澶у皬錛屾墍浠ヤ細澶ч噺嫻垂絀洪棿錛涚敱浜庢枃浠墮浂紕庝笖澶氾紝縐誨姩榪欎簺鏂囦歡涔熸槸涓浉褰撳ぇ鐨勯棶棰橈紝涓嬈′負浜嗗皢榪欎簺 cahce tile鏂囦歡浠嶢鏈哄櫒鎷瘋礉鍒癇鏈哄櫒灝界劧鑺辮垂浜?澶╃殑鏃墮棿銆?br />
tilecache鏈夎繖浜涗笉濡傛垜鎰忕殑鍦版柟錛屾墍浠ヤ箣鍓嶈嚜宸變篃鑰冭檻鍐嶅啓涓涓猼ilecache鐨?backend錛屽皢娓叉煋鍑烘潵鐨勪笢瑗跨洿鎺ュ瓨鍌ㄨ繘pgsql鏁版嵁搴擄紝閭d互鍚庡彧瑕佸鍑烘暟鎹簱鐨則ablespace灝卞彲浠ヤ簡錛屽棷錛佺殑紜彲琛岋紝涔熻窇浜嗕竴孌墊椂闂?br /> 鏈鍚庤繕鏄喅瀹氭斁寮僼ilecahce浜嗭紝姣曠珶wms鑷繁宸茬粡瀹炵幇浜嗭紝瑕佸啀鍋氫釜backend涔熸槸寰堢畝鍗曪紝鍋氬畬鐩存帴鏁村悎榪泈ms鏈嶅姟鍣ㄣ?br /> 鎴戣冭檻閲囩敤sqlite鏉ュ瓨鍌ㄨ繖浜涚摝鐗囧浘褰紝鐢變簬sqlite澶勭悊澶氱嚎紼嬫椂澶╂ф湁鐐歸棶棰橈紝澶氱嚎紼嬩笉鑳藉叡浜悓涓涓繛鎺?connection),鎵浠ュ疄鐜扮殑鏃跺欏湪姣忎釜綰跨▼鍒涘緩浜嗘柊鐨勮繛鎺ワ紝寮閿鏄湁涓浜涚殑錛岄偅姣斾箣鍓嶅疄鏃惰姹俆ileServer瑕佸揩鐨勫浜嗐?br /> 鐜板湪wms璺戠殑寰堝紑蹇冧簡錛宑pu涔熶笉蹇欎簡錛屽氨鏄瘡姝諱簡紜洏浜?br /> 涓鍙版満鍣ㄤ笂娓叉煋鐨勫湴鍥劇摝鐗囨暟鎹崟鐙瓨鍌ㄥ湪涓涓枃浠墮噷闈紝瑕侀儴緗插埌鍙﹀涓鍙版満鍣ㄤ篃寰堟柟渚夸簡錛屽彧闇瑕佹嫹璐濅竴涓嬪氨鍙互浜?br /> 鎺ョ潃鐪嬬湅灝嗚繖涓猻qlite鎹㈡垚pgsql錛岀湅鐪嬫ц兘鍝釜鏇村己涓鐐?br /> python浠g爜瀹炵幇:
 1     def getBitmapTile3(self,renderTile,mapid,res,xy,size):        
 2         if not self.enable:
 3             return None    #琛ㄧず闇瑕佸疄鏃惰姹傚湴鍥炬暟鎹?/span>
 4         
 5         tile = None
 6         dbconn = sqlite3.connect(self.dbname)
 7         try:            
 8             #dbconn.text_factory = str
 9             cr = dbconn.cursor()
10             cr.execute('select image from tiles where res=? and x=? and y=?',(res,xy[0],xy[1]))
11             r = cr.fetchone()
12             if not r:
13                 tile = renderTile(mapid,res,xy,size)
14                 if tile and tile.pixmap:
15                     b = sqlite3.Binary(tile.pixmap)
16                     print '*'*20
17                     cr.execute(u'insert into tiles (res,x,y,z,image) values(?,?,?,?,?)',(res,xy[0],xy[1],0,b))                    
18             else:
19                 tile = r[0]
20                 self.cacheshooted+=1
21                 print 'shooted ',self.cacheshooted
22         except:            
23             traceback.print_exc()
24             tile = None
25         dbconn.commit()
26         return tile
27 

璁板緱絀虹殑鏃跺欏湪flex绔啓涓嚜鍔ㄨ窇鍦板浘鐨勭▼搴忥紝涓嶈兘璁╂満鍣ㄩ棽鐫錛屾病浜嬬殑鏃跺欐妸鍏ㄥ浗鍦板浘鐨勭摝鐗囪嚜鍔ㄤ駭鐢熶竴涓嬶紝鍏嶅緱鍦ㄨ闂湴鍥劇郴緇熺殑鏃跺欏啀鍘諱駭鐢熺摝鐗囷紒











鏀懼眮闃跨嫍 2011-07-11 22:34 鍙戣〃璇勮
]]>
瀵笰pache Server Status鐨勫惎鐢?/title><link>http://www.shnenglu.com/socketref/archive/2011/05/27/147404.html</link><dc:creator>鏀懼眮闃跨嫍 </dc:creator><author>鏀懼眮闃跨嫍 </author><pubDate>Fri, 27 May 2011 13:05:00 GMT</pubDate><guid>http://www.shnenglu.com/socketref/archive/2011/05/27/147404.html</guid><wfw:comment>http://www.shnenglu.com/socketref/comments/147404.html</wfw:comment><comments>http://www.shnenglu.com/socketref/archive/2011/05/27/147404.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/socketref/comments/commentRss/147404.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/socketref/services/trackbacks/147404.html</trackback:ping><description><![CDATA[<div><p align="left"><strong><span style="font-family: 瀹嬩綋;">瀵?/span></strong><strong>Apache Server Status</strong><strong><span style="font-family: 瀹嬩綋;">鐨勫惎鐢?/span></strong></p> <p align="left"><span style="font-family: 瀹嬩綋;">瀵?/span>Apache<span style="font-family: 瀹嬩綋;">鐨勭姸鎬佺鐞嗙殑妯″潡鏄?/span>LoadModule status_module modules/mod_status.so<span style="font-family: 瀹嬩綋;">錛屾墍浠ヨ繖涓渶瑕佹湁錛岀劧鍚庢墦寮涓嬮潰鐨勯厤緗?/span></p> <p align="left">ExtendedStatus On</p> <p align="left"><span style="font-family: 瀹嬩綋;">閰嶇疆</span>Apache Server Status<span style="font-family: 瀹嬩綋;">鐨勬潈闄?/span></p> <p align="left"><location /server-status></p> <p align="left"><span>         SetHandler server-status</span></p> <p align="left"><span>         Order Deny,Allow</span></p> <p align="left"><span>         Deny from all</span></p> <p align="left"><span>         Allow from .foo.com</span></p> <p align="left"></location></p> <p align="left"><span style="font-family: 瀹嬩綋;">鎵撳紑鏌ョ湅鐨勮瘽灝變嬌鐢?/span>http:// your.server.name/server-status<span style="font-family: 瀹嬩綋;">鏉ヨ闂紝娉ㄦ剰</span>VH<span style="font-family: 瀹嬩綋;">鐨?/span>apache<span style="font-family: 瀹嬩綋;">瑕佽緗湪涓涓?/span>VH<span style="font-family: 瀹嬩綋;">涓?/span>,<span style="font-family: 瀹嬩綋;">涓嶇劧浣犲垎涓嶆竻鏄偅涓湴鍧鏉ユ煡鐪嬬湅榪欎釜淇℃伅</span>.<span style="font-family: 瀹嬩綋;">浣?/span>ExtendedStatus<span style="font-family: 瀹嬩綋;">涓嶈兘鏀懼湪</span>VH<span style="font-family: 瀹嬩綋;">涓?/span>.</p> <p align="left"> </p></div><img src ="http://www.shnenglu.com/socketref/aggbug/147404.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/socketref/" target="_blank">鏀懼眮闃跨嫍 </a> 2011-05-27 21:05 <a href="http://www.shnenglu.com/socketref/archive/2011/05/27/147404.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>apache gzip 閰嶇疆http://www.shnenglu.com/socketref/archive/2011/01/15/138583.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Sat, 15 Jan 2011 13:53:00 GMThttp://www.shnenglu.com/socketref/archive/2011/01/15/138583.htmlhttp://www.shnenglu.com/socketref/comments/138583.htmlhttp://www.shnenglu.com/socketref/archive/2011/01/15/138583.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/138583.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/138583.html2009-08-31 10:38:15
鏍囩錛歛pache 閰嶇疆 gzip
鐗堟潈澹版槑錛氬師鍒涗綔鍝侊紝璋㈢粷杞澆錛佸惁鍒欏皢榪界┒娉曞緥璐d換銆?br>1銆乧onf/httpd.conf
1) 鍘繪帀#LoadModule headers_module modules/mod_headers.so鍓嶉潰鐨勬敞閲?錛?br>2) 娣誨姞LoadModule deflate_module modules/mod_deflate.so錛?br>3) 鍘繪帀#Include conf/extra/httpd-vhosts.conf鍓嶉潰鐨勬敞閲?銆?br> 
2銆乧onf/extra/httpd-vhosts.conf
鍦╒irtualHost涓坊鍔?br>    <Location "/">
        SetOutputFilter DEFLATE
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
        Header append Vary User-Agent env=!dont-vary
    </Location>
渚嬪錛?br><VirtualHost *:80>
    DocumentRoot "D:/Apache2.2/htdocs/wef"
    <Location "/">
        SetOutputFilter DEFLATE
        BrowserMatch ^Mozilla/4 gzip-only-text/html
        BrowserMatch ^Mozilla/4\.0[678] no-gzip
        BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
        SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
        Header append Vary User-Agent env=!dont-vary
    </Location>
</VirtualHost>
 
 
娉細鎴戜嬌鐢ㄧ殑apache鐗堟湰涓?.2.13銆?br>

鏀懼眮闃跨嫍 2011-01-15 21:53 鍙戣〃璇勮
]]>
swbox 鍦板浘娓叉煋瀹屾垚鍩烘湰鍔熻兘http://www.shnenglu.com/socketref/archive/2010/11/08/132907.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Sun, 07 Nov 2010 17:20:00 GMThttp://www.shnenglu.com/socketref/archive/2010/11/08/132907.htmlhttp://www.shnenglu.com/socketref/comments/132907.htmlhttp://www.shnenglu.com/socketref/archive/2010/11/08/132907.html#Feedback1http://www.shnenglu.com/socketref/comments/commentRss/132907.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/132907.html鍏朵腑鍊熼壌浜唃eoserver鐨勬湇鍔℃ā寮忥紝ogc鐨凷LD椋庢牸閰嶇疆錛宼ilecache寮婧愪唬鐮佺殑鏍稿績錛岀幇宸茬敤c++瀹屾垚榪欎簺鍔熻兘錛?br>榪愯鏁堢巼鍙皳姣攇eoserver蹇簡濂藉嚑涓暟閲忕駭
鏈姞鍏ラ亾璺拰澶氳竟褰㈡枃鏈爣娉紝姝e湪璋冩暣鏍囨敞綆楁硶鍜岄昏緫錛?*.xml鎺у埗鍦板浘錛宮apsld.xml瀹氫箟灞傛牱寮忛鏍?br>
紼嬪簭婕旂ず錛?a style="text-decoration: underline;" title="http://wallizard.vicp.net:9000/swBox_release_2010.11.08.rar" >http://wallizard.vicp.net:9000/swBox_release_2010.11.08.rar





鏀懼眮闃跨嫍 2010-11-08 01:20 鍙戣〃璇勮
]]>
webgis - china 12綰х緝鏀?鍦板浘http://www.shnenglu.com/socketref/archive/2010/05/16/115517.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Sun, 16 May 2010 09:08:00 GMThttp://www.shnenglu.com/socketref/archive/2010/05/16/115517.htmlhttp://www.shnenglu.com/socketref/comments/115517.htmlhttp://www.shnenglu.com/socketref/archive/2010/05/16/115517.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/115517.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/115517.htmlhttp://118.126.7.153/maps/test_map.html
12綰у埆閲囩敤tilecache浜х敓鍥懼潡鍒皃ostgres瀛樺偍,緇樺埗榪囩▼鑺辮垂浜?2澶?鐪熷笇鏈涙湁嫻烽噺絀洪棿鍜屾洿澶氱殑鏈哄櫒渚涙垜浣跨敤闃?br>



鏀懼眮闃跨嫍 2010-05-16 17:08 鍙戣〃璇勮
]]>
鍙戝竷涓浗鍥懼埌web鐨勫紑鍙戠粡鍘?/title><link>http://www.shnenglu.com/socketref/archive/2010/04/12/112299.html</link><dc:creator>鏀懼眮闃跨嫍 </dc:creator><author>鏀懼眮闃跨嫍 </author><pubDate>Mon, 12 Apr 2010 03:18:00 GMT</pubDate><guid>http://www.shnenglu.com/socketref/archive/2010/04/12/112299.html</guid><wfw:comment>http://www.shnenglu.com/socketref/comments/112299.html</wfw:comment><comments>http://www.shnenglu.com/socketref/archive/2010/04/12/112299.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/socketref/comments/commentRss/112299.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/socketref/services/trackbacks/112299.html</trackback:ping><description><![CDATA[鑰冭檻灝唖hp鏍煎紡鐨勫湴鍥炬暟鎹彂甯冨埌webgis涓婂幓鐨勬兂娉曟湁涓孌墊椂闂翠簡錛屾濂芥湁絀洪棽鏃墮棿渚垮繖紕屽紑鏉ワ紝娌℃兂鍒版湡闂撮亣鍒頒簡璇稿鐨勯棶棰?br><br>1.寮鍙戝伐鍏? <br>Geoserver,Openlayer,Ext-js,Postgres/Postgis,Python2.6,PIL,TileCache<br>2.鍦板浘鏁版嵁<br>鎴戠殑鍦板浘鏁版嵁鏄?8騫寸殑鍏ㄥ浗鍦板浘錛屾寜姣忎釜鐪佸競鍒嗛殧寮鏉ワ紝姣忎釜鐪佸競鍙堝垎浜嗚嫢騫蹭釜鍥懼眰鏂囦歡錛屾牸寮忔槸mapinfo鐨凾ab錛屽閲?0G<br>鐢變簬娌℃湁鍏ㄥ浗澶ф瘮渚嬪浘錛屽湪鍋剁劧鐨勪竴涓満浼氫粠緗戜笂涓嬭澆鍒頒竴浠紺/S鐨勭洃鎺х郴緇燂紝娌℃兂鍒板畨瑁呯洰褰曞唴灝辨湁涓浠藉叏鍥藉浘錛屽氨鏄瘮渚嬩笉楂樸?br>3.澶勭悊榪囩▼<br>1.Tab杞崲鎴恠hp: Ogr宸ュ叿鍙互瀹屾垚榪欎袱縐嶆牸寮忕殑杞崲錛岀紪鍐檖ython鑴氭湰鍙互杞繪槗澶勭悊瀹?br>  鍦ㄨ漿鎹㈡暟鎹箣鍓嶉渶瑕佹彁閱掔殑鏄紝鍙戠幇鍦ㄥ鐞嗗杈瑰艦鍥懼眰鏃訛紝榪欎釜澶氳竟褰㈠浘灞傚茍涓嶆槸綆鍗曠殑澶氳竟褰紝涔熷氨鏄偅縐峬apinfo鍏佽瀛樺湪polygon鍜宲line鐨勫浘灞傦紝榪欏皢瀵艱嚧涔嬪悗鐨勫鍏ョ┖闂存暟鎹簱鐨勫け璐ワ紝鍥犱負postgis瑕佹眰姣忎釜鍥懼眰鏁版嵁綾誨瀷蹇呴』鏄竴鑷寸殑錛屼笉鑳藉瓨鍦ㄥ縐嶇被鍨嬶紝鎵浠ョ紪鍐檓apbasic鑴氭湰錛屽皢榪欎簺pline瀵硅薄浠庤繖澶氳竟褰㈠浘灞備腑鍓斿幓鍗沖彲銆?br>2.鏁版嵁鏍¢獙錛氥榪欎釜榪囩▼闈炲父閲嶈錛屼換浣曟彁渚涚殑鐨勭煝閲忔暟鎹兘鏈夊彲鑳藉瓨鍦ㄩ敊璇暟鎹紝鎵浠ョ涓姝ュ繀欏昏淇榪欎簺鍙兘瀛樺湪鐨勯敊璇紝宸ュ叿灝辨槸錛★綊锝冿姬锝夛綋,浣跨敤鍏跺伐鍏峰姣忎釜鐪佸競鐨勬瘡涓浘灞傛枃浠惰繘琛屼慨澶嶃?br>3.瀵煎叆絀洪棿鏁版嵁搴擄細銆緙栧啓鑴氭湰錛屽皢锝擄綀锝愭暟鎹漿鎴愶綋锝戯綄鏂囦歡錛屾鏃跺繀欏繪敞鎰忕┖闂存暟鎹簱鐨勫瓧絎︾紪鐮佷笌锝擄綉锝屾暟鎹瓧絎︾紪鐮佽鍚誨悎鎴栬呰兘澶熻嚜鍔ㄨ漿鎹€傦綈锝囷紥锝擄綉鐢變簬杞崲鎴愶綋锝戯綄鏃訛紝鐢變簬锝擄綀锝愭暟鎹腑鏌愪簺鍥懼眰琛ㄥ瓨鍌ㄧ殑瀛楃緙栫爜涓嶇粺涓瀵艱嚧浜х敓鐨勯潪娉曠殑锝擄綉锝屾暟鎹紝鎵浠ュ繀欏誨榪欎簺鏁版嵁榪涜淇錛屽茍閲囩敤锝曪綄锝旓綊锝侊絽锝勶綁锝斿皢鏁版嵁榪涜杞爜鎴愭暟鎹殑瀛楃闆嗙被鍨嬶紝鎴戜嬌鐢ㄧ殑鏄痷tf-8.<br>4.鏁版嵁鍒嗙錛?鐢變簬鎻愪緵鐨勫叏鍥藉湴鐞嗘暟鎹槸娌℃湁鏍規嵁搴旂敤鏉ュ垎灞傜殑錛屾墍鏈夌殑閬撹礬閮藉悎鍦ㄥ悓涓涓彨road鐨勫浘灞傚唴錛岀劧鍚庨氳繃灞炴ф潵鍖哄垎閬撹礬鐨勭駭鍒紝鐢變簬鎴戜滑鍦ㄦ帶鍒舵樉紺洪亾璺椂鏄渶瑕佸垎灞傚垎綰у埆鐨勶紝鎵浠ュ繀欏誨皢榪欎簺鏁版嵁瑕佸垎紱繪垚涓嶅悓鐨勯亾璺浘灞傦紝閬撹礬鍏?0綰у埆錛?-9錛夛紝緙栧啓鑴氭湰灝嗘瘡涓渷甯傜殑閬撹礬鍒囧壊鎴恟oad_?10綰ч亾璺眰(select into鍗沖彲鎼炲畾)銆?br>鍚屾牱錛岄櫎浜嗛亾璺箣澶栬繕鏈夊叾浠栫殑姣斿娌蟲祦錛孭OI瀵硅薄絳夐兘闇瑕佽繘琛屽垎鍓插埌涓嶅悓鍥懼眰浠ヤ究鏇寸簿紜殑鐜板疄鎺у埗銆?br>5.閰嶇疆Geoserver錛?鏁版嵁閮芥湁浜嗭紝鎺ヤ笅鏉ュ氨鏄厤緗粯鍒跺紩鎿庝簡銆侴eoserver鎻愪緵WFS,WMS鏈嶅姟錛屾ц兘涓鑸紝鐢變簬鏄痡ava寮鍙戠殑銆備笉綆?721錛岄厤緗簡鏈鏂扮殑I5涓繪満錛屽皢java铏氭嫙鏈虹殑鍐呭瓨璁劇疆鐨勬渶澶э紝灝唒ostgis鐨勬暟鎹簱鍐呭瓨涔熻凍澶熻皟澶с傛墜宸ユ坊鍔犱簡1錛?涓浘灞傚埌geoserver錛宲review涓涓嬶紝ok錛?br>鎺ヤ笅鏉ョ紪鍐欐帶鍒惰繖浜涘浘灞傜殑SLD浜嗭紝榪欎簺鑺變簡濂戒簺鏃墮棿瀛︿範鍜屽紑鍙戯紙瀛︿範sld瀵規垜浠ュ墠寮鍙戝祵鍏ュ紡鍦板浘寮曟搸椋庢牸閰嶇疆涔熸槸涓縐嶅府鍔╋紝涔嬪悗鐨勫祵鍏ュ紡鍦板浘寮曟搸涔熷叏閮ㄤ嬌鐢╯ld榪涜閰嶇疆浜嗭紒錛?br>鐢變簬鍏ㄥ浗鏁版嵁鍒?1涓渷甯傦紝姣忎釜鐪佸競閮介厤緗簡21涓浘灞傦紝鎵浠ヨ浜哄伐11鍔犲埌geoserver榪樼湡鏄緢澶х殑闂錛屼笉榪囨病鍏崇郴錛屾湁python鍦ㄦ墜錛岀劧鍚庡geoserver鐨勯厤緗枃浠剁爺絀朵簡涓鎶婁究鍐欎簡鑴氭湰灝嗗嚑鐧句釜鍥懼眰鍏ㄥ姞浜嗚繘鍘伙紝鐒跺悗灝嗚繖浜涘浘灞傛寜鐪佸競榪涜鍒嗙粍錛屽啀嬈review錛宱k錛?br>6.Cache Tile鐢熸垚: 浣跨敤榪嘒eoWebCache錛屽彂鐜板緢澶氬湴鏂瑰疄鍦ㄤ笉濂界悊瑙o紝騫稿ソ鎵懼埌浜員ileCache錛屼唬鐮佷篃瀹規槗淇敼錛岀爺璇諱簡TileCache浠g爜涔嬪悗淇敼浜哊澶勫湴鏂癸紝鎶婃晥鐜囨彁楂樹簡10鍊嶄互涓娿傜幇鍦ㄧ殑闂鍦ㄤ簬Tilecache瀹炵幇浜咲isk Cache,Memory Cache,浣嗗氨鏄病鏈塂B cache錛屾瘡涓猼ile灝嗗垱寤轟竴涓枃浠訛紝濡傛灉榪欎簺鏂囦歡寰堝皬錛屾湁鐨勭敋鑷蟲墠鍑犲崄瀛楄妭涔熻嫻垂涓涓枃浠跺潡絀洪棿錛屾晥鐜囦笉楂橈紝濡傛灉閲囩敤db鐨勮瘽絀洪棿灝辮兘鑺傜渷寰堝錛岀瓑浠ュ悗鏈変簡鏃墮棿鑷繁緙栧啓涓涓悗绔負postgres鐨凾ile Cache鍚с?br><br>Tile Cache鐢熸垚鏈変簺闂瑕佹敞鎰忥細<br>錛?銆絀虹櫧锝旓綁锝岋絽錛氥鐢變簬鎴戣緗殑緇樺埗璁劇疆鐨凚Box闈炲父澶э紝鎵浠ュ湪緇樺埗鐨勬椂鍊欐湁浜涚┖鐧藉尯鍩熶篃灝嗘彁浜ょ粰geoserver榪涜澶勭悊錛岃繖鏍鋒氮璐逛簡澶勭悊鏃墮棿錛屽悓鏃惰繖浜涗駭鐢熺殑灝忚鏍煎浘鍧楀ぇ澶у崰鎹簡紓佺洏絀洪棿錛屾墍浠ヤ慨鏀圭殑浠g爜灝嗕笉瀛樺偍榪欎簺絀虹櫧tile錛屼粎浠呭瓨鍌ㄨ繖浜泃ile鐨勬枃浠跺悕縐幫紝鑰屼笉淇濆瓨鍐呭<br>錛?銆tilecache鐨凴esolutions錛孼oomLevels錛孊Box鍜孫penlayers鐨勫睘鎬у繀欏諱竴鏍鳳紝鍚﹀垯Opnelayers鏃犳硶鏄劇ず姝g‘鐨則ile<br>3. tile鐩鎬氦媯嫻嬶細 鍚屾牱鏄┖鐧藉尯鍩熺殑緇樺埗錛屽鏋滄瘡嬈¢兘鎻愪氦緇檊eoserver鐨勮瘽錛実eoserver灝嗘牴鎹厤緗殑layer鍘葷浉浜ゅ茍緇樺埗涓嬈★紝榪欏氨瀹屽叏娌℃湁蹇呰鐨勶紝鎴戠殑瑙e喅鏂瑰紡灝辨槸鎻愬墠灝?1涓渷甯備駭鐢熶粬浠殑MBR錛岀劧鍚庡啀tile榪涜鎻愪氦緇檊eoserver涔嬪墠錛屽皢璇鋒眰鐨則ile鐨刡box涓庤繖浜涚渷甯傜殑mbr榪涜鐩鎬氦嫻嬭瘯錛屽彧鏈夌浉浜ょ殑鍥懼眰鎵嶉佸叆geoserver緇樺埗<br>4. 澶х綉鏍肩粯鍒訛細 姣忔浠?56×256鐨勮鏍肩粰geoserver緇樺埗鍏ㄥ浗鍥劇殑璇濇晥鐜囧疄鍦ㄥお浣庯紝涔嬪悗淇敼鎴?048×2048瑙勬牸錛屾暣浣撶殑緇樺埗鏁堢巼涓婂崌浜唍鍊嶏紝緇樺埗瀹屼簡涔嬪悗閲囩敤split_tile.py灝嗚繖浜涘ぇ鍧楀垏鍓叉垚256瑙勬牸鐨勫皬鍧楋紝蹇呴』娉ㄦ剰浜х敓鐨勫簭鍙?br><br>鍐欏緱濂界瘡<br><br><br><br><img src ="http://www.shnenglu.com/socketref/aggbug/112299.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/socketref/" target="_blank">鏀懼眮闃跨嫍 </a> 2010-04-12 11:18 <a href="http://www.shnenglu.com/socketref/archive/2010/04/12/112299.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Python::SocketServerhttp://www.shnenglu.com/socketref/archive/2010/02/15/107912.html鏀懼眮闃跨嫍 鏀懼眮闃跨嫍 Mon, 15 Feb 2010 15:42:00 GMThttp://www.shnenglu.com/socketref/archive/2010/02/15/107912.htmlhttp://www.shnenglu.com/socketref/comments/107912.htmlhttp://www.shnenglu.com/socketref/archive/2010/02/15/107912.html#Feedback0http://www.shnenglu.com/socketref/comments/commentRss/107912.htmlhttp://www.shnenglu.com/socketref/services/trackbacks/107912.html
BaseServer: 瀹氫箟鍩虹鏈嶅姟鍣ㄦ帴鍙o紝榪欎簺鍔熻兘鎺ュ彛鎻愪緵緇欏瓙綾葷戶鎵褲傚悓鏃舵彁渚涙湇鍔″鐞嗙殑楠ㄦ灦
   serve_forever()  寰幆璋冪敤 handle_request()
   handle_request()  璋冪敤瀛愮被鐨刧et_request() 錛屽湪tcpServer鏃跺疄鍒欒繘琛宎ccept()搴旂瓟; 楠岃瘉澶勭悊 verify_request(); 
             鏈緇堝鐞嗚姹?process_request()錛?br>   verify_request()   铏氬嚱鏁?
   process_request()  铏氬嚱鏁幫紝榪欎釜鍑芥暟騫舵病鏈夌洿鎺ュ湪BaseServer鐨勫瓙綾籘cpServer涓閲嶈澆錛岃屾槸鍦═cpServer鐨勬淳鐢熺被涓氳繃鍙︿竴涓埗綾繪潵瀹?br>鐜幫紝姣斿 ThreadingTCPServer鐨勫熀綾籘hreadingMixIn.process_request()瀹炵幇浜嗘鍔熻兘鍑芥暟
   finish_request(request, client_address) 鎵ц涓嬈″畬鏁寸殑socket鏁版嵁璇誨叆澶勭悊錛屽鏋滄槸ThreadMixInTcpServer浜х敓鐨剅equest錛岃繖涓柟娉曞唴蹇呴』瀹炶寰幆璇誨彇socket鏁版嵁,鐩村埌socket鍏抽棴銆?姝ゅ request 灝辨槸 socket瀵硅薄)
 def finish_request(self, request, client_address):
        
"""Finish one request by instantiating RequestHandlerClass."""
        self.RequestHandlerClass(request, client_address, self)
   鍦╢inish_request閲岄潰渚垮皢璇誨彇socket鏁版嵁鐨勪換鍔℃墧緇欎簡RequestHandler鍘誨鐞嗕簡錛屼唬鐮佸彲浠ヨ煩榪囧幓鐪嬩簡
##---------------------------------------------

TcpServer:  tcp鏈嶅姟鍣?br>   __init__(self, server_address, RequestHandlerClass) 闇瑕佹彁渚涙湇鍔′睛鍚湴鍧鍜岃姹傚鐞嗙被瀵硅薄
   server_bind() 緇戝畾鏈嶅姟鍣ㄥ湴鍧
   server_activate() 嬋媧繪湇鍔″櫒
   server_close()  鍏抽棴鏈嶅姟鍣?
   fileno()  榪斿洖鏈嶅姟鍣╯ocket鐨勫彞鏌刦d緙栧彿
   get_request() 鎺ユ敹搴旂瓟accept()
   close_request(request) 鍏抽棴socket,request鍗充負socket瀵硅薄
 
涓夌杈撳嚭澶勭悊鏂瑰紡: 闃誨鏂瑰紡銆佺嚎紼嬪鐞?ThreadingMixIn)銆佽繘紼嬪鐞?ForkingMixIn)

ThreadingMixIn: 綰跨▼妯″瀷
   process_request( request, client_address) 涓鴻姹傜殑閾炬帴鍒涘緩鏂扮殑綰跨▼,鍦ㄥ垱寤虹嚎紼嬫椂鐩存帴鎸囧畾綰跨▼鍏ュ彛鍜屽弬鏁?
      
import threading
= threading.Thread(target = self.process_request_thread,
     args 
= (request, client_address))
if self.daemon_threads:
  t.setDaemon (
1)
   process_request_thread() 綰跨▼澶勭悊socket鍏ュ彛錛岃礋璐f帴鏀舵暟鎹紝浠g爜瀹炵幇鏈夌偣緇曪紝鐪嬬湅浠g爜
def process_request_thread(self, request, client_address):
        
try:
            self.finish_request(request, client_address)
            self.close_request(request)
        
except:
            self.handle_error(request, client_address)
            self.close_request(request)
    ThreadingMixIn鍏跺疄灝辨槸綰跨▼浠g悊錛岃繕鏄皟鐢╢inish_request()榪涘叆澶勭悊tcp鏁版嵁鐨勫驚鐜紝澶勭悊瀹屾垚渚縞lose_request()銆備絾鏄痜inish_request鍜宑lose_request騫舵湭鍦═hreadingMinxIn鍐呭畾涔夛紝鍦ㄥ摢閲屽憿錛?閫氳繃鐮旇ThreadingTcpServer,鍘熸潵閫氳繃ThreadingTcpServer榪欎釜finish_request鍙堣窇鍥炰簡BaseServer.finish_request()

ThreadingTCPServer(ThreadingMixIn, TCPServer) 瑁呴厤鎴愮嚎紼嬫睜澶勭悊鐨則cp鏈嶅姟鍣?br>  

BaseRequestHandler:  璇鋒眰澶勭悊鍩虹瀵硅薄錛屾彁渚涚粺涓鐨勮涓烘帴鍙e疄鐜板鐞唖ocket鏁版嵁銆?BaseRequestHandler姣旇緝濂界帺錛屽湪鏋勯犲嚱鏁板唴瀹屾垚浜嗘墍鏈夌殑鎿嶄綔錛岃浠g爜錛?
def __init__(self, request, client_address, server):
        self.request 
= request
        self.client_address 
= client_address
        self.server 
= server
        
try:
            self.setup()
            self.handle()
            self.finish()
        
finally:
            sys.exc_traceback 
= None    # Help garbage collection
   setup()瀵瑰簲鐨勫瓙綾諱細榪涜鍒濆鍖栧鐞?br>   self.handle()  鐩存帴璋冪敤瀛愮被鐨勫鐞嗗嚱鏁幫紝鍙互鍙傝?BaseHTTPRequestHandler(SocketServer.StreamRequestHandler)::handle()


StreamRequestHandler(BaseRequestHandler) 嫻佸紡socket澶勭悊綾?br>   setup() 璁劇疆濂絪ocket瀵硅薄鍜岃鍐欐枃浠跺彞鏌?rfile/wfile


HTTPServer(SocketServer.TCPServer) http鏈嶅姟鍣?br>
BaseHTTPRequestHandler(SocketServer.StreamRequestHandler) 嫻佸紡鐨勮姹傚鐞嗙被
   handle() 澶勭悊鍏ュ彛錛屽湪鍩虹被BaseRequestHandle()鐨勬瀯閫犲嚱鏁頒腑鐩存帴璋冪敤
   handle_one_request() 濡傛灉涓嶆槸澶勭悊涓嬈″垯榪斿洖false銆傛帴鏀朵竴嬈ocket鏁版嵁錛岃В鏋恜arse_request(),璋冪敤瀵瑰簲鐨刣o_xxx浜嬩歡

python 鐨刣aemon綰跨▼錛?br>濡傛灉涓涓繘紼嬬殑涓葷嚎紼嬭繍琛屽畬姣曡屽瓙綰跨▼榪樺湪鎵ц鐨勮瘽錛岄偅涔堣繘紼嬪氨涓嶄細閫鍑猴紝鐩村埌鎵鏈夊瓙綰跨▼緇撴潫涓烘錛屽浣曡涓葷嚎紼嬬粨鏉熺殑鏃跺欏叾浠栧瓙綰跨▼涔熶箹涔栫殑璺熻佸ぇ鎾ら鍛紵閭e氨瑕佹妸閭d簺涓嶅惉璇濈殑浜鴻緗負鍚瘽鐨勫皬寮燂紝浣跨敤綰跨▼瀵硅薄鐨?font color="#99cc00">setDaemon()鏂規硶錛屽弬鏁頒負bool鍨嬨?font color="#99cc00">True鐨勮瘽灝變唬琛ㄤ綘瑕佸惉璇濓紝鎴戣佸ぇ錛堜富綰跨▼錛夋壇鍛鹼紝浣犱篃瑕佽窡鐫鎾わ紝涓嶈兘鎷栧悗鑵褲傚鏋滄槸False鐨勮瘽灝變笉鐢ㄩ偅涔堝惉璇濅簡錛岃佸ぇ鍏佽浣犱滑灝嗗湪澶栧啗鍛芥湁鎵涓嶅彈鐨勩傞渶瑕佹敞鎰忕殑鏄?font color="#99cc00">setDaemon()鏂規硶蹇呴』鍦ㄧ嚎紼嬪璞℃病鏈夎皟鐢?font color="#99cc00">start()鏂規硶涔嬪墠璋冪敤錛屽惁鍒欐病鏁堟灉銆?/span>
  



]]>
亚洲国产欧美国产综合久久| 99re这里只有精品热久久| 欧洲国产伦久久久久久久| 色综合久久88色综合天天 | 久久精品国产亚洲αv忘忧草 | 久久精品国产亚洲AV大全| 久久永久免费人妻精品下载| 97r久久精品国产99国产精| 国产免费福利体检区久久| 中文字幕乱码久久午夜| 免费精品99久久国产综合精品| 久久久久综合国产欧美一区二区| 久久狠狠爱亚洲综合影院| 国产香蕉97碰碰久久人人| 久久精品国产亚洲AV蜜臀色欲 | 国产午夜精品理论片久久| 久久中文字幕人妻熟av女| 亚洲一本综合久久| 一本色道久久88—综合亚洲精品| 青青国产成人久久91网| 伊人久久大香线蕉综合Av | 怡红院日本一道日本久久| 久久精品国产色蜜蜜麻豆| 久久国产高清一区二区三区| 久久精品人人槡人妻人人玩AV| 中文字幕久久亚洲一区| 久久久91人妻无码精品蜜桃HD| 国产91色综合久久免费| 久久丫精品国产亚洲av| 狠狠色综合网站久久久久久久高清| 精品视频久久久久| 国产农村妇女毛片精品久久| 亚洲狠狠综合久久| 亚洲国产精品一区二区久久| 久久国产高清字幕中文| 久久精品国内一区二区三区| 精品久久久久久无码专区不卡| 久久免费的精品国产V∧| 久久超碰97人人做人人爱| 国产精品99久久免费观看| 久久精品无码专区免费青青|