专栏首页萌海无涯python中socket的tcp学习(1)

python中socket的tcp学习(1)

让我们来学习tcp看看有什么区别!

Python 实现socket tcp通信还是比较简单的。

tcp分为客户端,和服务器两部分。

大多数连接都是可靠的TCP连接。创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。

举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接。如果一切顺利,新浪的服务器接受了我们的连接,一个TCP连接就建立起来的,后面的通信就是发送网页内容了。

比如,我们的在用的QQ,微信,浏览器之类的都能归属到客户端中

我们建立一个客户端的套接字:

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

创建Socket时,AF_INET指定使用IPv4协议,SOCK_STREAM表示是TCP。

现在只是创建好了一个对象,没有实际连接。

由于我们还没有搭建自己的服务端,所以可以先尝试连接网站也是可以的。

创建连接:

# 内部是个元祖,别忘了少个括号s.connect(("www.baidu.com",80))

搭建好了连接,就好比电话拨通了号码,等待我们说话了。

发送数据:

# 使用utf-8进行编码s.send("hello world".encode("utf-8"))

这里编码问题,我们本次不进行讲解

那么我们发送完毕了,怎么才能知道别人给我们说了什么呢?

下面我们来接收信息:

# 接收数据msg s.()# 打印数据内容,解码为utf-8print(msg.decode("utf-8"))# 返回的内容# 'HTTP/1.1 400 Bad Request\r\n\r\n'

最后还有关闭连接!

# 关闭套接字s.close()

这样我们就完成了收和发!

本文分享自微信公众号 - 萌海无涯(mhwyhtwa),作者:萌海无涯

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python中socket的UDP学习(1)

    TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据。相对TCP,UDP则是面向无连接的协议。

    萌海无涯
  • python中socket的tcp学习(2)

    服务器进程首先要绑定一个端口并监听来自其他客户端的连接。如果某个客户端连接过来了,服务器就与该客户端建立Socket连接,随后的通信就靠这个Socket连接了。

    萌海无涯
  • Python中socket的UDP学习(3)

    萌海无涯
  • 数据库迁移搞炸了!竟然没用这款开源神器的锅?

    当我们的应用升级时往往会伴随着数据库表结构的升级,此时就需要迁移数据库的表结构。一般我们会使用工具或者脚本来实现,手动操作毕竟有一定风险,要是能在应用启动时自动...

    Java程序猿阿谷
  • Python数据类型—字符串(1)

    Python数据类型 — 字符串(1) 除了数值,我们还常常需要对文字进行处理。本文将介绍Python用于文字处理的数据类型 — 字符串,并解释如何在计算机系统...

    企鹅号小编
  • Python 查漏补缺之字符串

    Ewdager
  • Python之爬虫框架概述

    综述 爬虫入门之后,我们有两条路可以走。 一个是继续深入学习,以及关于设计模式的一些知识,强化Python相关知识,自己动手造轮子,继续为自己的爬虫增加分布式...

    CDA数据分析师
  • 窥视Google Chrome OS

    有小道消息说Google Chrome OS泄露了,不过那个100多M的东西原来只不过是Chrome浏览器的调试代码.

    贰师兄TEN
  • PyTorch全新性能分析工具,可视化瓶颈,并集成到了VS Code

    随着 PyTorch 1.8.1的发布,一个全新改进的性能调试工具 PyTorch Profiler 来了。作为微软和 Facebook 合作的一部分,PyTo...

    McGL
  • 项目经理思维导图——13 如何在全新的创业公司下创建项目管理流程,有哪些项目管理标准规范可以参与?

    yeedomliu

扫码关注云+社区

领取腾讯云代金券