python 网络编程之socket

简介: 在python socket编程主要是面各tcp 和 udp编程。下面我们就用这两种不同的编程方式来实现一个从客服端发送信息到服务器端,   服务器端返回客服器现在时间和接收到的信息     我们先来实现tcp的编程 tcp 服务端代码(tsTserv.
    在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 完成,来看下效果图
目录
相关文章
|
8天前
|
安全 Java 数据处理
Python网络编程基础(Socket编程)多线程/多进程服务器编程
【4月更文挑战第11天】在网络编程中,随着客户端数量的增加,服务器的处理能力成为了一个重要的考量因素。为了处理多个客户端的并发请求,我们通常需要采用多线程或多进程的方式。在本章中,我们将探讨多线程/多进程服务器编程的概念,并通过一个多线程服务器的示例来演示其实现。
|
8天前
|
存储 算法 Linux
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
【实战项目】网络编程:在Linux环境下基于opencv和socket的人脸识别系统--C++实现
24 6
|
1天前
|
机器学习/深度学习 Python
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析
11 0
|
1天前
|
JSON 网络协议 API
Python网络编程面试题精讲
【4月更文挑战第15天】本文介绍了Python网络编程的面试重点,包括基础Socket编程、HTTP协议与requests库、异步编程与asyncio库。通过实例解析常见面试题,强调了非阻塞套接字、异常处理、HTTP状态码检查以及异步任务管理等关键点。提供代码示例帮助读者巩固概念,助力面试准备。
9 0
|
2天前
|
机器学习/深度学习 存储 测试技术
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测
|
3天前
|
机器学习/深度学习 资源调度 数据可视化
使用Python和Keras进行主成分分析、神经网络构建图像重建
使用Python和Keras进行主成分分析、神经网络构建图像重建
|
7天前
|
网络协议 Java API
Python网络编程基础(Socket编程)Twisted框架简介
【4月更文挑战第12天】在网络编程的实践中,除了使用基本的Socket API之外,还有许多高级的网络编程库可以帮助我们更高效地构建复杂和健壮的网络应用。这些库通常提供了异步IO、事件驱动、协议实现等高级功能,使得开发者能够专注于业务逻辑的实现,而不用过多关注底层的网络细节。
|
移动开发 网络协议 Linux
Python网络编程(socketserver、TFTP云盘、HTTPServer服务器模型)
Python网络编程 Python小项目 Python网盘 Python HTTP请求服务端
2118 0
|
网络协议 Python Unix