博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day7-简单socket例子
阅读量:6830 次
发布时间:2019-06-26

本文共 1102 字,大约阅读时间需要 3 分钟。

一、概述

  之前我们只是介绍了soket的概念和一些逻辑图表,下面我们来看看,socket的客户端和服务端到底是怎么用的?

二、socket实例

2.1 客户端

2.1.1 客户端代码逻辑图

2.1.2 客户端代码

import  socket   #导入socket模块client = socket.socket()  #创建socket实例client.connect(("localhost",6969))  #建立连接send_data = "hello word!"   #发送的字符串send_data = send_data.encode() #因为发送是bytes类型,所以这边先转码成bytes类型client.send(send_data)  #发送数据,这边发送的是字节类型,也就是bytes类型data = client.recv(1024)  #接收服务端的数据,这边设置接收1024字节  1kb=1024字节print("server rece:",data.decode())client.close()   #关闭与服务端的链接

2.2 服务端

2.2.1 服务端代码逻辑图 

2.2.2 服务端代码

import socketsever = socket.socket()  #创建服务端实例sever.bind(("localhost",6969))   #绑定客户端ip和端口sever.listen()   #监听端口print("我在电话了....")conn,addr = sever.accept()   #接收客户端,并且返回连接标志位(conn)实例,和对方的ip地址(addr)data = conn.recv(1024)   #接收客户端发过来的数据,接收的也是bytes类型的数据print("我的电话来了")print("client data:",data.decode())conn.send(data.upper())  #发送数据至服务端,注意这边发送的也是字节类型,是bytes类型sever.close()  #关闭服务端

三、总结

  1. python2中可客户端或者服务端均可发送字符串和字节,但是在python3中只能发字节,也就bytes类型的比特流
  2. 服务端接收客户端的链接时,会返回跟客户端的链接标志位的实例和对方ip地址+随机端口号
  3. 此例子只是TCP/IP协议的socket链接,后面继续学习UDP的链接

转载于:https://www.cnblogs.com/zhangqigao/articles/6971584.html

你可能感兴趣的文章
秀尔算法:破解RSA加密的“不灭神话” --zz
查看>>
Redis学习之路(003)- hiredis安装及测试
查看>>
【剑指offer】近期公共祖先
查看>>
剑指offer 38 数字在排序数组中出现的次数
查看>>
[Python] How to unpack and pack collection in Python?
查看>>
iOS 隐藏NavigationBar的方法
查看>>
最新.net和Java调用SAP RFC中间件下载
查看>>
(转)淘淘商城系列——导入商品数据到索引库
查看>>
Hibernate(十一):映射继承关系的三种方案
查看>>
oracle数据库使用之数据查询入门
查看>>
通过cat方式生成yum源
查看>>
属性动画的概念解析--实现星星控件
查看>>
DSP开发中遇到的问题 - 类指针未初始化后果
查看>>
java之JMX
查看>>
指针常量与常量指针
查看>>
在web.config中配置httpHandlers节点是的说明
查看>>
c++:数据类型的推断type_traits
查看>>
Python——异常基础
查看>>
UVa 112 树求和
查看>>
物理结构与逻辑结构
查看>>