前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python中socket的tcp学习(1)

python中socket的tcp学习(1)

作者头像
萌海无涯
发布2019-08-02 17:07:31
3690
发布2019-08-02 17:07:31
举报
文章被收录于专栏:萌海无涯萌海无涯

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

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

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

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

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

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

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

代码语言:javascript
复制
import socket

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

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

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

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

创建连接:

代码语言:javascript
复制
# 内部是个元祖,别忘了少个括号s.connect(("www.baidu.com",80))

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

发送数据:

代码语言:javascript
复制
# 使用utf-8进行编码s.send("hello world".encode("utf-8"))

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

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

下面我们来接收信息:

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

最后还有关闭连接!

代码语言:javascript
复制
# 关闭套接字s.close()

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-08-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萌海无涯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档