client/server程序-python

服务器:

#!/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
               

       

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值