python 网络编程之socket

本文通过TCP和UDP两种方式实现客户端向服务器发送信息,并接收服务器返回的时间及信息。包含服务端与客户端的完整代码示例。
    在python socket编程主要是面各tcp 和 udp编程。下面我们就用这两种不同的编程方式来实现一个从客服端发送信息到服务器端,   服务器端返回客服器现在时间和接收到的信息     我们先来实现tcp的编程 tcp 服务端代码(tsTserv.py):  
[python]  view plain copy
 
  1. '''''
  2. Created on 2010-12-13
  3. @author: Administrator
  4. '''
  5. from socket import *
  6. from time import ctime
  7. HOST=''
  8. PORT=21582
  9. BUFSIZ=1024
  10. ADDR=(HOST,PORT)
  11. tcpSerSock=socket(AF_INET,SOCK_STREAM)
  12. tcpSerSock.bind(ADDR)
  13. tcpSerSock.listen(5)
  14. while True:
  15.     print 'waiting for connection...'
  16.     tcpCliSock,addr=tcpSerSock.accept()
  17.     print '...connected from:',addr
  18.     while True:
  19.         data=tcpCliSock.recv(BUFSIZ)
  20.         if not data:
  21.             break
  22.         tcpCliSock.send('[%s] %s' %(ctime(),data))
  23.     tcpSerSock.close()
  24.     tcpCliSock.close()
    tcp客服端代码(tsTclnt.py):
[python]  view plain copy
 
  1. '''''
  2. Created on 2010-12-13
  3. @author: Administrator
  4. '''
  5. from socket import *
  6. HOST='localhost'
  7. PORT=21582
  8. BUFSIZ=1024
  9. ADDR=(HOST,PORT)
  10. tcpCliSock=socket(AF_INET,SOCK_STREAM)
  11. tcpCliSock.connect(ADDR)
  12. while True:
  13.     data=raw_input('>')
  14.     if not data:
  15.         break
  16.     tcpCliSock.send(data)
  17.     data=tcpCliSock.recv(BUFSIZ)
  18.     if not data:
  19.         break
  20.     print data
  21. tcpCliSock.close()
    ok 我们现在来看下效果图:       实现upd 编程   udp服务端代码(tsUserv.py):  
[python]  view plain copy
 
  1. '''''
  2. Created on 2010-12-13
  3. @author: Administrator
  4. '''
  5. from socket import *
  6. from time import ctime
  7. HOST=''
  8. PORT=21590
  9. BUFSIZ=1024
  10. ADDR=(HOST,PORT)
  11. udpSerSock=socket(AF_INET,SOCK_DGRAM)
  12. udpSerSock.bind(ADDR)
  13. while True:
  14.     print 'waiting for message...'
  15.     data,addr=udpSerSock.recvfrom(BUFSIZ)
  16.     udpSerSock.sendto('[%s] %s' %(ctime(),data),addr)
  17.     print '...received from and returned to:',addr
  18.     udpSerSock.close()
    udp 客服端代码(tsUclnt.py):    
[python]  view plain copy
 
  1. '''''
  2. Created on 2010-12-13
  3. @author: Administrator
  4. '''
  5. from socket import *
  6. from time import ctime
  7. HOST='localhost'
  8. PORT=21590
  9. BUFSIZ=1024
  10. ADDR=(HOST,PORT)
  11. udpCliSock=socket(AF_INET,SOCK_DGRAM)
  12. while True:
  13.     data=raw_input('>')
  14.     if not data:
  15.         break
  16.     print data
  17.     udpCliSock.sendto(data,ADDR)
  18.     data,ADDR=udpCliSock.recvfrom(BUFSIZ)
  19.     if not data:
  20.         break
  21.     print data
  22. udpCliSock.close()
    ok 完成,来看下效果图

转载于:https://www.cnblogs.com/u0mo5/p/3973766.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值