##############################################################
python的socket模块编写的tcp协议的c/s架构网络程序结构:
#!/usr/bin/env python
#server
from socket import *
ss = socket(AF_INET, SOCK_STREAM)
ss.bind((HOST,PORT))
ss.listen(BACKLOG)
while True:
css, caddr = ss.accept()
print "connected from:", caddr
while True:
data = css.recv(BUFSIZE)
if not data:
break
print "i am server ,receved: ", data
css.send("i am server")
css.close()
ss.close()
##############################################################
#!/usr/bin/env python
#client
from socket import *
cs = socket(AF_INET, SOCK_STREAM)
cs.connect((HOST,PORT))
while True:
cs.send("i am client")
data = cs.recv(BUFSIZE)
if not data:
break
print "i am client, receved: ", data
cs.close()
##################################################################
python中使用socket模块编写的udp协议的c/s架构的网络程序:
#!/usr/bin/env python
#server
from socket import *
ss = socket(AF_INET, SOCK_DGRAM)
ss.bind((HOST, PORT))
while True:
data, caddr = ss.recvfrom(BUFSIZE)
if not data:
break
print "I am server, connect from %s, recved: %s" % (caddr, data)
ss.sendto("i am server",caddr)
ss.close()
########################################################
#!/usr/bin/env python
#client
from socket import *
cs = socket(AF_INET, SOCK_DGRAM)
while True:
cs.sendto("I am client", (HOST, PORT))
data, saddr = cs.recvfrom(BUFSIZE)
if not data:
break
print "I am client, connect from %s, recved: %s" % (saddr, data)
cs.close()