Python Socket Server
½ñÌì×öftpµÄ½çÃæ,×öµÄÏ൱ÓôÃÆ£¬ÅªµÃÐÄÇé¼°Æä²»Ë¬£¬ÔÚÍøÉÏËѵ½ËÀ¶¼²»ÖªµÀ¸ÃÔõô°ì£¬´òËãÃ÷ÌìÏÈ¿´¿´C£«£«
µÄÊÇÔõôŪµÄÔÙ˵¡£²»¹ý£¬ÏÖÔÚÎÒÏëдһϹØÓÚsocketµÄ±à³Ì¡£
ÏÈдһ¸öʱ¼ä·þÎñÆ÷°É£¬Ëû¼àÌý¶Ë¿Ú£¬²¢Çһ᷵»Ø ·þÎñÆ÷µÄʱ¼ä
server.py
#!/usr/bin/python
# Copyright (c) angelipin (angelipin@126.com)
import SocketServer
import time
import logging
__version__ = "1.0.0"
class ServerHandler(SocketServer.BaseRequestHandler):
def setup(self):
logging.info("start thread.")
self.request.settimeout(60)
def finish(self):
self.request.close()
logging.info("end thread.")
def handle(self):
while 1:
try:
dataReceived = self.request.recv(1024)
if not dataReceived:
break
logging.info('Receive data '+dataReceived)
dataSend = time.ctime(time.time())
self.request.send(dataSend)
except socket.timeout:
print "Time out"
logging.error("Time out")
logging.basicConfig(level=logging.DEBUG,format='%(thread)d %(asctime)s %(levelname)s %(message)s',filename='log',filemode='a+')
Server = SocketServer.ThreadingTCPServer(('',8881),ServerHandler)
logging.info('Server start')
Server.serve_forever()
ÓÃÀ´×ö²âÊÔÓõÄclient.py
import socket
remote_host = '127.0.0.1'
remote_port = 8881
send_buf = open('binary','rb').read()
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
sock.connect((remote_host,remote_port))
sock.send(send_buf)
response_data = sock.recv(1024)
print response_data
sock.close()
Ëæ±ãÔÚbinaryÎļþÀïÃæÐ´µã¶«Î÷ »òÕß ÄãÖ±½Ó»»³É¡£¡£¡£¶Ô°É
²âÊÔ ÏÈÆô¶¯ server
È»ºóÔËÐм¸¸öclient¿´¿´
while true;
do
python client.py;
done;
ÄãÒ²¿ÉÒÔд¸ö¶àÏ̵߳IJâÊÔ¡£ÏñÎÒÕâÑùµÄ¾ÍÊǶ࿪¼¸¸öshell¶¼ÔËÐÐÉÏÃæµÄ´úÂë¡£°¦£¬Ôõô½áÊøÄØ£¿
Ïà¹ØÎĵµ£º
Ô´´úÂëÏÂÔØ£ºÏÂÔØµØÖ·ÔÚÕâÀï
# 035
class Person:
population = 0 #Õâ¸ö±äÁ¿ÊÇÊôÓÚÕû¸öÀàµÄ
def __init__(self, name):
self.name = name
print '³õʼ»¯ %s' % self.name
Person.population += 1
# end of def
def __del__(self):
print '%s says bye.' % self. ......
ÑéÖ¤ÊÇ·ñÒѾ°²×°ÁËMySQLdb£º
==========================================================
d:\usr\local\Python25>python
Python 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] onwin32
Type "help", "copyright", "credits" or "license" for ......
˵ʵ»°£¬PythonÕæµÄ²»Ì«ÊʺÏ×öÕâÖÖ¶þ½øÖƵĶ«Î÷£¬ÌìÉúûÓÐÖ¸Õ룬µ¼ÖÂÔÚC/C++ºÜÈÝÒ׵Ķ«Î÷ÔÚPythonϾͺÜÂé·³¡£²»¹ýºÃÏñ3.1ÓÐÁËÔÉúµÄbytesÀàÐÍ£¬²»ÖªµÀÄܲ»ÄܸıäÏÖ×´¡£
import sys
import time
import socket
import struct
import random
def SendPacketData (Buffer = None , DestIP = "127.0.0.1" , DestPort = 0 ......
ż¶û×ö¸ö¼òµ¥µÄWEB·þÎñ²âÊÔ³ÌÐò£¬ÎÒ»¹ÊÇϲ»¶²ÉÓÃPHP¡£¼ò½à£¬·ç¸ñºÍC/C++½Ó½ü£¬ÉÏÊֿ죬¶øÇÒ¿âÒ²ºÜÆëÈ«¡£ÒÔǰΪ¹ã¶«Òƶ¯×öÒÆ¶¯ÐÐÒµÖն˵ÄÑÝʾ³ÌÐòʱ£¬²ÉÓùúÄÚÒ»¸öÐÖµÜдµÄFleaPHP¿ªÔ´¿ò¼Ü£¬Á½Öܲ»µ½µÄʱ¼ä£¬ÎÒ´ÓÒ»¸ö¶ÔPHPÒ»ÎÞËùÖªµÄˮƽ£¬¿ìËٵĸ㶨ÁË30¶à¸öÒ³ÃæµÄºǫ́£¬ºóÀ´ÑÝʾЧ¹ûÒ²²»´í£¬Ò²ºÜÎȶ¨£¬´Ó´Ë¶ÔPHPÓÐÁ ......
filename=raw_input('enter file name:')
f=open(filename,'rb')
f.seek(0,0)
index=0
for i in range(0,16):
print "%3s" % hex(i) ,
print
for i in range(0,16):
print "%-3s" % "#" ,
print
while True:
temp=f.read(1)
if len(temp) == 0:
break
else:
print "%3s" % temp.encode('hex'),
......