(2018-04-12.Python从Zero到One)一、python高级编程__3.2.6tcp服务器

上一篇文章为:→3.2.5tcp相关介绍

tcp服务器

生活中的电话机

如果想让别人能更够打通咱们的电话获取相应服务的话,需要做一下几件事情:

  1. 买个手机
  2. 插上手机卡
  3. 设计手机为正常接听状态(即能够响铃)
  4. 静静的等着别人拨打

tcp服务器

如同上面的电话机过程一样,在程序中,如果想要完成一个tcp服务器的功能,需要的流程如下:

  1. socket创建一个套接字
  2. bind绑定ip和port
  3. listen使套接字变为可以被动链接
  4. accept等待客户端的链接
  5. recv/send接收发送数据

一个很简单的tcp服务器如下:

#coding=utf-8
from socket import *

# 创建socket
tcpSerSocket = socket(AF_INET, SOCK_STREAM)

# 绑定本地信息
address = ('', 7788)
tcpSerSocket.bind(address)

# 使用socket创建的套接字默认的属性是主动的,使用listen将其变为被动的,这样就可以接收别人的链接了
tcpSerSocket.listen(5)

# 如果有新的客户端来链接服务器,那么就产生一个新的套接字专门为这个客户端服务器
# newSocket用来为这个客户端服务
# tcpSerSocket就可以省下来专门等待其他新客户端的链接
newSocket, clientAddr = tcpSerSocket.accept()

# 接收对方发送过来的数据,最大接收1024个字节
recvData = newSocket.recv(1024)
print '接收到的数据为:',recvData

# 发送一些数据到客户端
newSocket.send("thank you !")

# 关闭为这个客户端服务的套接字,只要关闭了,就意味着为不能再为这个客户端服务了,如果还需要服务,只能再次重新连接
newSocket.close()

# 关闭监听套接字,只要这个套接字关闭了,就意味着整个程序不能再接收任何新的客户端的连接
tcpSerSocket.close()

运行流程:

<1>tcp服务器

day17_TFTP、TCP编程-00.png

<2>网络调试助手:

day17_TFTP、TCP编程-01.jpg
day17_TFTP、TCP编程-02.png

下一篇文章为:→3.2.7tcp客户端
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 3 socket模块-TCP gitbook链接:用python带你进入AI中的深度学习技术领域https://w...
    scrappyzhang阅读 1,246评论 0 2
  • 1.tcp相关介绍 udp通信模型中,在通信开始之前,不需要建立相关的链接,只需要发送数据即可,类似于生活中,"写...
    TENG书阅读 393评论 0 1
  • 本文翻译自Socket Programming HOWTO 虽然套接字无处不在,但却是被误解最严重的技术之一。本文...
    大蟒传奇阅读 3,503评论 0 8
  • (458) 我爱你。
    韩尚小阅读 261评论 1 1