基于python实现简单C/S模式代码实例
C/S模式就是指客bai户端/服务器模式,du是计算机软件协同工作的一种模式。zhi
由于Web浏览器的兴起,B/S模式逐步取代了daoC/S模式,被更广泛地应用。随着计算机网络技术的成熟和应用普及,特别是局域网的发展、PC机的出现,越来越多的用户和企业开始使用计算机管理一些事务。
PC机的资源没有大型、中型甚至小型主机丰富,但将多台PC机联成网,必然会增加资源含量,各个用户都在网络上来共享所有资源。根据客户/服务器(Client/Server简记为C/S)体系结构的概念,至少用两台计算机来分别充当客户机和服务器角色。
服务器端代码:
#!/usr/bin/python import time, socket, threading # thread handle function def tcplink(sock, addr): print 'Accept new connection from %s:%s...' % addr sock.send('Welcome!') while True: data = sock.recv(1024) time.sleep(1) if data == 'exit' or not data: break sock.send('Hello, %s!' % data) sock.close() print 'Connection from %s:%s closed.' % addr # create socket object s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # listen port s.bind(('127.0.0.1', 9999)) # start listen s.listen(5) # print prompt print 'Waiting for connection...' while True: # accept a new connection sock, addr = s.accept() # create new thread to handle tcp connection t = threading.Thread(target=tcplink, args=(sock, addr)) t.start()
客户端代码:
#!/usr/bin/python # import module import socket # create TCP object s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # connect sina s.connect(('127.0.0.1', 9999)) # receive welcome print s.recv(1024) for data in ['zjw', 'ygl', 'lele']: # send data s.send(data) print s.recv(1024) while True: data = 1
设计思路还是那样的,服务器端监听固定端口,等待连接,客户端来连接,然后互相发送消息
相关推荐
夜斗不是神 2020-11-17
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16