想要理解socket协议,点击链接,出门左转

一、TCP 通信的服务器端编程的基本步骤:

  1. 服务器端先创建一个 socket 对象。
  2. 服务器端 socket 将自己绑定到指定 IP 地址和端口。
  3. 服务器端 socket 调用 listen() 方法监听网络。
  4. 程序采用循环不断调用 socket 的 accept() 方法接收来自客户端的连接
 1 #创建socket 对象
2 s = socket.socket()
3 #将socket 绑定到本机IP 地址和端口
4 s.bind (('192.168.1.88', 30000))
5 #服务器端开始监听来自客户端的连接
6 s.listen()
7 while True:
8 #每当接收到客户端socket 的请求时,该方法就返回对应的socket 和远程地址
9 c, addr = s.accept()
10 ...

二、TCP 通信的客户端编程的基本步骤:

  1. 客户端先创建一个 socket 对象。
  2. 客户端 socket 调用 connect() 方法连接远程服务器。
 1 import socket
2 import struct
3
4 class SelfPackage:#将接口内容封装在类SelfPackage中
5 def __init__(self,ip,port):
6 self.IP= ip
7 self.Port= port
8 self.stopthread = True
9 self.client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)#创建客户端套接字,SOCK_STREAM对应协议类型为TCP
10 self.client.connect((self.IP, self.Port))
11
12 def client_connect(self,ip,port):#客户端连接IP及端口
13 self.client=socket.socket()
14 self.client.connect((ip,port))
15 return self.client
16
17 def get_current_msg(self):#客户端接收数据
18 status_msg = self.client.recv(2664)#每次接收2664字节
19 while len(status_msg)<2664: #如果接收到的字节长度不满2664,就要补齐,不能丢掉
20 status_msg += self.client.recv(2664)
21 return status_msg
22
23 def client_close(self):#关闭客户端
24 self.client.close()

创建客户端实例:

socket_tcp1=SelfPackage(ip="192.168.1.1",port=2222)

中国有句古话:祸福无门,惟人自招,善恶之报,如影随形。细看世间事,都有因果可循,而这因果,就藏在每个人的选择里。你选择善良做人,温柔待人,勤恳做事,总有一天,会被世界温柔以待,得到相应的回报,你选择尖酸刻薄,处处算计,总有一天,会自食恶果,殃及自身。善待别人,就是善待自己;尊重别人,就是庄严自己;宽容别人,就是放过自己。

python进阶__用socket封装TCP的更多相关文章

  1. Python进阶篇:Socket多线程

    1. 初识Socket server和clinet之间的交互方式 2. 客户端和服务端的单次交互 ==================================== 服务端 import soc ...

  2. Python进阶(1)_Socket网络编程(基于tcp的socket)

    网络协议参考:http://www.cnblogs.com/hedeyong/p/6889774.html 一.TCP/IP五层模型 学习socket一定要先学习互联网协议: 1.首先:本节课程的目标 ...

  3. Python进阶----SOCKET套接字基础, 客户端与服务端通信, 执行远端命令.

    Python进阶----SOCKET套接字基础, 客户端与服务端通信, 执行远端命令. 一丶socket套接字 什么是socket套接字: ​ ​  ​ 专业理解: socket是应用层与TCP/IP ...

  4. Python之路,Day8 - Socket编程进阶

    Python之路,Day8 - Socket编程进阶   本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台 ...

  5. python进阶---Python中的socket编程

    初识socket编程 一.前言 socket基于C\S架构(客户端\服务端)的编程模型,在Python中是以socket模块存在的. Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是 ...

  6. Python 之网络编程之socket(1)TCP 方式与UDP方式

    一:socket介绍 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket. 建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API) ...

  7. Python进阶【第一篇】socket

    1.socket模块 要使用socket.socket()函数来创建套接字.其语法如下: socket.socket(socket_family,socket_type,protocol=0) soc ...

  8. python socket 模拟tcp通讯

    对于tcp server 端的创建而言, 分为如下步骤:   1,创建socket对象(socket):其中俩个参数分别为     Address Family(如AF_INET为ipv4),AF_I ...

  9. python socket之tcp服务器与客户端demo

    python socket之tcp服务器与客户端demo 作者:vpoet mails:vpoet_sir@163.com server: # -*- coding: cp936 -*- ''' 建立 ...

随机推荐

  1. C++ 炼气期之变量的生命周期和作用域

    1. 前言 什么是变量的生命周期? 从变量被分配空间到空间被收回的这一个时间段,称为变量的生命周期. 什么是变量的作用域? 在变量的生命周期内,其存储的数据并不是在任何地方都能使用,变量能使用的范围, ...

  2. 论文解读(GraphMAE)《GraphMAE: Self-Supervised Masked Graph Autoencoders》

    论文信息 论文标题:GraphMAE: Self-Supervised Masked Graph Autoencoders论文作者:Zhenyu Hou, Xiao Liu, Yukuo Cen, Y ...

  3. 当JAVA注解、AOP、SpEL相遇,更多可能变为了现实

    常规情况下,我们可以通过业务定制化的注解,借助AOP机制来实现某些通用的处理策略.比如定义个@Permission注解,可以用于标识在具体的方法上,然后用来指定某个方法必须要指定角色的人才能够访问调用 ...

  4. Tomcat部署接口环境遇到的问题,有没有人能帮忙解决指导一下

    1.在虚拟机中用Tomcat部署一个接口环境:linux+jdk+Tomcat 前提条件:代码包啥的别人都用过,可以部署成功 2.具体部署: a. 利用xftp把所有的代码包war包传送到tomcat ...

  5. RPA应用场景-公积金贷款业务数据整合和报送

    场景概述 公积金贷款业务数据整合和报送 所涉系统名称 个贷系统.公积金管理系统 人工操作(时间/次) 0.5小时 所涉人工数量1000操作频率 每日 场景流程 1.机器人整理个人贷款信息.个人贷款账户 ...

  6. C# · 委托语句简化演变

    1.委托基础语句形式 namespace QLVision { delegate void dHelp();//定义委托 static class Program { /// <summary& ...

  7. python小题目练习(八)

    题目:电视剧的收视率排行榜 需求:实现如下图所示需求  代码展示: """Author:mllContent:电视剧的收视率排行榜Date:2020-11-16" ...

  8. 强化学习-学习笔记7 | Sarsa算法原理与推导

    Sarsa算法 是 TD算法的一种,之前没有严谨推导过 TD 算法,这一篇就来从数学的角度推导一下 Sarsa 算法.注意,这部分属于 TD算法的延申. 7. Sarsa算法 7.1 推导 TD ta ...

  9. centos7 yum error yum doesn't have enough cached data

    1.vi /etc/resolv.conf,添加下面一行 nameserver 114.114.114.114 修改完成后service network restart进行重启,试一下yum upda ...

  10. elasticsearchTemplate that could not be found

    ***************************APPLICATION FAILED TO START*************************** Description: Metho ...