当前位置:   article > 正文

Python TCP编程简单实例

Python TCP编程简单实例

客户端:创建TCP链接时,主动发起连接的叫做客户端

服务端:接收客户端的连接

连接其他服务器

可以通过tcp连接其他服务器。

示例:

  1. import socket
  2. # 1.创建一个socket
  3. # 参数1:指定协议 AF_INET(ipv4) 或 AF_INET6(ipv6)
  4. # 参数2:SOCK_STREAM执行使用面向流的TCP
  5. sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  6. # 建立连接
  7. # 参数:是一个元组,第一个元素为要连接的服务器IP地址,第二个参数为端口
  8. sk.connect(('网站域名', 80))
  9. # 发送信息给服务端
  10. sk.send(b'GET / HTTP/1.1\r\nHost: www.aixiashu.info\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0\r\nConnection: close\r\n\r\n')
  11. # 等待接收数据
  12. data = []
  13. while True:
  14. # 每次接收1k数据
  15. temData = sk.recv(1024)
  16. if temData:
  17. data.append(temData)
  18. else:
  19. # 接收完数据
  20. break
  21. context = (b''.join(data)).decode('utf-8')
  22. # 断开链接
  23. sk.close()
  24. print(context)

执行结果:

 

取出header头和html

示例:

  1. head, html = context.split('\r\n\r\n', 1)
  2. print('响应头:', head)
  3. print('响应文本内容', html)

响应头在浏览器中会自动处理,不会显示在页面中。

执行结果:

 

客户端与服务器数据交互

服务端

示例:

  1. import socket
  2. # 创建一个socket
  3. server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  4. # 绑定IP端口 使用自己本机ip,可通过命令行ipconfig查看获得
  5. server.bind(('192.168.8.111', 8080))
  6. # 监听
  7. server.listen(3)
  8. print('服务器启动。。。。。。')
  9. # 等待客户端连接
  10. clientSocket, clientAddress = server.accept()
  11. print("%s -- %s 连接成功"%(str(clientSocket), clientAddress))
  12. while True:
  13. data = clientSocket.recv(1024)
  14. print('收到'+str(clientSocket)+'的数据:'+data.decode('utf-8'))
  15. message = input('请输入发送给客户端内容:')
  16. clientSocket.send(message.encode('utf-8'))

 

客户端

示例:

  1. import socket
  2. client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  3. client.connect(('192.168.8.111', 8080))
  4. while True:
  5. data = input('请输入发送内容:')
  6. client.send(data.encode('utf-8'))
  7. info = client.recv(1024)
  8. print('服务器:', info.decode('utf-8'))

执行结果:

注意:

停止可以先停止客户端。当前只是单线程,需要多线程才可以多客户端连接。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/601143
推荐阅读
相关标签
  

闽ICP备14008679号