服务器:
#!/usr/bin/env python
# -*- coding: gbk -*-
from threading import Thread
#from time import ctime
import socket
#import pickle
import time
import sys
#import string
import traceback
from CommandServer import CommandEx
from CommandContext import CommandContext
class ConnectUser:
def __init__(self):
self.username="Unknown User"
self.password=None
self.errorinfo=None
class Serve:
def __init__(self,host='localhost',port=5432):
self.host = host
self.port = port
self.online=[]
self.recievestring = ""
self.s = None
self.connectMethod()
def connectMethod(self):
self.s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
self.s.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
self.s.bind((self.host,self.port))
self.s.listen(1)
self.online=[]
self.recievestring = ""
# begin listen client
print "Server starting on " , self.host + ",port:" , self.port
while 1:
time.sleep(1)
clientsock,clientaddr=self.s.accept()
self.online.append(clientsock)
client=Thread(target=self.handleclient,args=[clientsock])
client.start()
def handleclient(self,clientsock):
#self.recievestring=clientsock.recv(1024)
#connectUser = ConnectUser()
fd=clientsock.makefile('rw',0)
while 1:
# do something
time.sleep(1)
clientsock.close()
def main():
serve=Serve("192.168.0.212",8383)
print "Server is shutdown ... ..."
if __name__=='__main__':
main()
客户端:
#!/usr/bin/env python
# -*- coding: gbk -*-
from threading import *
import socket
#import pickle
import time
import sys
import string
import traceback
class Data:
def __init__(self,Kind=None,To=None,From=None,Message=None):
self.Kind=Kind
self.To=To
self.From=From
self.Message=Message
self.clientReceive= None
class Client:
def __init__(self,host='192.168.1.102',port=8014):
self.clientname=raw_input('Input your name:')
self.clientpasswd=raw_input('Input password:')
self.lock=Lock()
self.data=[]
self.s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
self.s.connect((host,port))
self.fd=self.s.makefile('rw',0)
self.fd.write("1|0001|01|%" + self.clientname + "|" + self.clientpasswd)
#1 Accept the result than User and password validation
while 1:
time.sleep(1)
#commnication with server
def main():
Client(ip,8383)
if __name__=='__main__':
main()
#c:\Python25\python.exe E:\symbian\Server\ServerStart.py
#c:\Python25\python.exe E:\symbian\client\Client.py