• python 网络编程之socket


        在python socket编程主要是面各tcp 和 udp编程。下面我们就用这两种不同的编程方式来实现一个从客服端发送信息到服务器端,   服务器端返回客服器现在时间和接收到的信息     我们先来实现tcp的编程 tcp 服务端代码(tsTserv.py):  
    [python] view plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    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 plaincopy
     
    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 完成,来看下效果图
  • 相关阅读:
    php基本语法学习
    mac下charles使用
    python--logging模块
    CSS样式(二)
    CSS样式(一)
    HTML、CSS基础知识(四)
    HTML、CSS基础知识(三)
    HTML、CSS基础知识(二)
    HTML、CSS基础知识(一)
    python学习(三十四)第一个框架
  • 原文地址:https://www.cnblogs.com/u0mo5/p/3973766.html
Copyright © 2020-2023  润新知