python网络编程之tcp服务器和客户端

tcp协议是双向通信,需要先建立连接,然后才能互相通信。其中涉及到通信节点(socket),端口等一些网络知识。如果不太了解,可以查看网络方面的资料。

tcp服务器

可以形象的理解为:银行早上9点开门营业,工作人员到各自的窗口上就位,等待顾客办理业务。

  1. 开启套接字(银行开门)
  2. 绑定服务端口(工作人员到各自的窗口)
  3. 开始监听(工作人员就位)
  4. 等待客户端连接(等待顾客)
  5. 和客户端对话(办理业务)
1 #!/usr/bin/env python
2 #coding=utf8
3  
4 from socket import *
5  
6 host = ''
7 port = 12345
8 bufsiz = 1024
9  
10 #开启套接字
11 tcpSerSock = socket(AF_INET, SOCK_STREAM)
12 #绑定服务端口
13 tcpSerSock.bind((host, port))
14 #开始监听
15 tcpSerSock.listen(5)
16  
17 while True:
18     #等待客户端连接
19     print 'waiting for connection...'
20     tcpCliSock, addr = tcpSerSock.accept()
21     print '...connected from:', addr
22  
23     while True:
24         #接收客户端信息
25         data = tcpCliSock.recv(bufsiz)
26         if not data:
27             break
28         #给客户端发送信息
29         tcpCliSock.send('[%s] %s' %("You send:", data))
30  
31     tcpCliSock.close()
32  
33 tcpSerSock.close()

tcp客户端

可以形象的理解为:顾客打算办理业务,到指定的窗口,和工作人员沟通办理业务。

  1. 开启套接字(打算办理业务)
  2. 连接服务器(到达指定窗口)
  3. 开始对话(办理业务)
1 #!/usr/bin/env python
2 #coding=utf8
3  
4 from socket import *
5  
6 host = 'localhost'
7 port = 12345
8 bufsiz = 1024
9  
10 #开启套接字
11 tcpCliSock = socket(AF_INET, SOCK_STREAM)
12 #连接到服务器
13 tcpCliSock.connect((host, port))
14  
15 while True:
16     #等待输入
17     data = raw_input('> ')
18     if not data:
19         break
20     #发送信息
21     tcpCliSock.send(data)
22     #接受返回信息
23     response = tcpCliSock.recv(bufsiz)
24     if not response:
25         break
26     print response
27  
28 tcpCliSock.close()

运行结果截图:

python网络编程tcp服务端

python网络编程tcp服务端

python网络编程tcp客户端

python网络编程tcp客户端


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值