Python核心编程(网络编程)[通俗易懂]

Python核心编程(网络编程)[通俗易懂]1、pythonsocket模块内置方法2、tcp服务器伪代码3、tcp客户端伪代码4、socket模块属性5、一个简单的tcp客户端和服务端

大家好,又见面了,我是你们的朋友全栈君。

1、python socket模块内置方法

Python核心编程(网络编程)[通俗易懂]

Python核心编程(网络编程)[通俗易懂]

 

 2、tcp服务器伪代码

Python核心编程(网络编程)[通俗易懂]

 

3、tcp客户端伪代码

Python核心编程(网络编程)[通俗易懂]

4、socket模块属性

Python核心编程(网络编程)[通俗易懂]

Python核心编程(网络编程)[通俗易懂]

 

5、一个简单的tcp客户端和服务端

服务端代码:

# encoding:utf-8
from socket import *
from time import ctime
from datetime import *

# 定义tcpServer监听端口号
HOST = '0.0.0.0'
PORT = 21567
ADDR = (HOST, PORT)
BUFFSIZE=1024
# 初始化一個tcp socket
tcpSvrSock = socket(AF_INET, SOCK_STREAM)
tcpSvrSock.bind(ADDR)
tcpSvrSock.listen(5)
while True:
    print('[%s] wait for connection...'%(datetime.now()))
    tcpClientSock, clientAddr = tcpSvrSock.accept()
    print('[%s] connect from: %s...'%(datetime.now(),clientAddr))
    while True:
        recieveData = tcpClientSock.recv(BUFFSIZE)
        if not recieveData:
            break
        print('[%s] 收到报文:%s' %(datetime.now(),recieveData.decode('utf-8')))
        sendData = input('> ')
        if not sendData:
            break
        tcpClientSock.send(bytes(sendData,'utf-8'))
    tcpClientSock.close()
tcpSvrSock.close()

  

  

 客户端代码:
# encoding:utf-8
from socket import *
from datetime import *

HOST = '127.0.0.1'
PORT = 21567
ADDR = (HOST, PORT)
BUFFSIZE=1024
clientSocket=socket(AF_INET,SOCK_STREAM)
clientSocket.connect(ADDR)

while True:
    sendData=input('> ')
    if not sendData:
        break
    sendData=bytes(sendData, 'utf-8')
    clientSocket.send(sendData)
    recieveData=clientSocket.recv(BUFFSIZE)
    if not recieveData:
        break
    print(recieveData.decode('utf-8'))
clientSocket.close()

  

 Python核心编程(网络编程)[通俗易懂]

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155960.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月5日 下午6:16
下一篇 2022年7月5日 下午6:36


相关推荐

  • 关于按位取反怎么算

    关于按位取反怎么算一 首先二进制在计算机的内存中是以补码的形式存储二 正数的补码 原码 反码 负数的反码 原码的取反 二进制数的符号位除外 一般来说在二进制的左边的最高位 补码 反码 1 三 按位取反怎么算按位取反 二进制的每一位都取反 符号位 数据位 公式法 x x 1 举两个例子 11 11 1 12 11 10 公式法的内部是如何计算的呢 以 11 为例 11 的计算步骤 计算 11 的补码转二进制 01011 计算补码 01011 按位取反 10100 按位取反

    2026年3月16日
    3
  • 基于阿里DDNS的ipv6 for windows版软件

    基于阿里DDNS的ipv6 for windows版软件基于阿里DDNS的ipv6forwindows版软件会搜到这篇帖子的同学,应该和我一样,满世界为自己的虚拟主机找寻ipv6的动态ddns程序吧?下面我先说说我的折腾故事:因为买了群晖,然后发现需要公网ip,但公网ip现在电信要钱了,开口100元一个月,挺黑的。没办法尝试了各种内网穿透,这类帖子网上很多,就不细说了,总之是各种折腾,各种不爽,最终选择了零遁伴侣做内网穿透还算稳定,速度也不错。…

    2022年6月13日
    159
  • cocos2d ccTouchBegan不被调用

    cocos2d ccTouchBegan不被调用参考自 http blog sina com cn s blog 61e26bcb0100 htmlCCLayer 里面的 ccTouchBegan 和 ccTouchesBeg 到底调用哪个 默认调用的是 ccTouchesBeg 方法 添加了如下代码的话 2012 08 30 12 56 启用 ccTouchEnded

    2026年3月26日
    2
  • StringUtils方法全集

    StringUtils方法全集StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。除了构造器,StringUtils

    2022年6月11日
    30
  • BigDecimal中divide方法详解

    BigDecimal中divide方法详解首先说一下用法,BigDecimal中的divide主要就是用来做除法的运算。其中有这么一个方法.publicBigDecimaldivide(BigDecimaldivisor,intscale,introundingMode)第一个参数是除数,第二个参数代表保留几位小数,第三个代表的是使用的模式。其中我们标题上就是其中的两种BigDecimal.ROUND_DOW…

    2022年5月2日
    273
  • delphi网页数据抓取

    delphi网页数据抓取简单 IdHttp TIdHttp Params TStrings BeginParams TStrinList Create IdHttp TIdHttp Create Nil 提交网页的参数 Params Add 参数 1 XXX

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号