iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python3 套接字练习
  • 632
分享到

python3 套接字练习

2023-01-31 08:01:22 632人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

练习目的有随机30个数字 然后分别需要计算 1、这30个数字的 奇偶性 奇数返回True 偶数返回False 2、这30个数字的 2倍 3、这30个数字的 是否大于10 要求用Socket分布式部署给三个client来计算 服务端进行数据汇

练习目的

有随机30个数字
然后分别需要计算
1、这30个数字的 奇偶性 奇数返回True 偶数返回False
2、这30个数字的 2倍
3、这30个数字的 是否大于10
要求用Socket分布式部署给三个client来计算
服务端进行数据汇总显示.


服务器端:

#导入模块
import socket
import threading
import random
import time

#创建一个函数来创建套接字
def sock_start():
    #创建一个套接字,并以tcp链接(主机(ip)+端口(port))
    sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    #绑定主机加端口(''空表示任意的主机)
    #绑定地址(host,port)到套接字, 在AF_INET下,以元组(host,port)的形式表示地址
    sock.bind(('',8000))
    #最大打开5个监听,大于5个链接,则等待
    sock.listen(5)
    #死循环一直等待这主机来连接
    while True:
        #有主机来连接,建立连接
        client,address =sock.accept()
        #创建一个套接字
        t = threading.Thread(target=setResponse,args=(client,address))
        #开始运行
        t.start()

    #关闭链接
    sock.close()

def setResponse(sock,address):
    num = 1
    while True:
        info = '''
        是否开启本次作业?
        开启请输入yes
        不开启请输入no
        你直接回车就是默认开启,坏笑!!!
        现在是第 %s 次开始运行!!!!
        '''%num

        #判断是否要运行与客户端的数据交流
        status = input(info)
        if status == 'no':
            print('你不开始我退出了!')
            exit()
        else:
            for i in range(10):
                j = random.randint(1,100)
                #把数字转化为字符串
                data = str(j)
                #加码数据,发送数据给客户端
                sock.send(data.encode('utf-8'))
                time.sleep(1)
                #接受客户端的数据
                msg_rec = sock.recv(1024)
                #解码客户端的数据,并打印出来
                print(msg_rec.decode('utf-8'))
        num +=1
if __name__ == '__main__':
    sock_start()



客户端:

# -*- coding: utf-8 -*-
# File  : 客户端3.py
# Author: HuXianyong
# Date  : 2018-08-23 15:26

import socket,time

my_name = '客户端3'
#创建一个套接字,并以tcp链接(主机(ip)+端口(port))
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#  主动初始化TCP服务器连接,格式为元组(hostname,port)
sock.connect(('127.0.0.1',8000))
while True:
    #接收客户端的数据(数据大小)
    msg_rec = sock.recv(1024)
    #把字符串转化为×××
    num  = int(msg_rec)
    #判断数据的奇偶
    if num%2 == 0:
        sex = '女同志'
    else:
        sex = '男同胞'

    #判断数字是否大于10
    if num <= 10:
        age = '瓜娃子'
    elif 10<num<=20:
        age = '2b小青年'
    elif 20 <num <= 40:
        age = '成家立业,养瓜娃子'
    elif 40< num <=60:
        age = '人到中年'
    else:
        age = '该养老了'

    #生成数据类型
    msg_send = '我是:%s 性别:%s 人生:%s 年龄:%d'%(my_name,sex,age,num*2)
    #加码数据,并发送数据
    sock.send(msg_send.encode('utf-8'))
    time.sleep(1)
    #打印接收到的服务器端的数据
    print(msg_rec.decode('utf-8'))

#关闭连接
sock.close()


我这里要用三个客户端,所以这里的客户端代码复制三次,执行三次:


执行的效果如下:

image.png


--结束END--

本文标题: python3 套接字练习

本文链接: https://www.lsjlt.com/news/192805.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python3 套接字练习
    练习目的有随机30个数字 然后分别需要计算 1、这30个数字的 奇偶性 奇数返回True 偶数返回False 2、这30个数字的 2倍 3、这30个数字的 是否大于10 要求用socket分布式部署给三个client来计算 服务端进行数据汇...
    99+
    2023-01-31
  • Python3 网络套接字(socket
    本文由 Luzhuo 编写,转发请保留该信息. 原文: http://blog.csdn.net/Rozol/article/details/72553736 以下代码以Python3.6.1为例 Less is...
    99+
    2023-01-31
    网络 socket
  • python3 套接字异常(a byte
    #修改代码 from socket import * from time import ctime HOST = 'localhost' PORT = 21567 BUFSIZ = 1024 ADDR = (HOST,PORT) t...
    99+
    2023-01-31
    异常 byte
  • python3学习之练习题
    题目来自老男孩培训:作业1:信用卡程序功能要求(必须):1.额度15000,不可超额透支(用户ID,账号,密码,额度写入文件中)2.可以提现,手续费5%3.每月最后一天出账单(每月30天),写入文件(交易日,交易摘要,人民币金额,手续费)4...
    99+
    2023-01-31
    练习题
  • python3 练习题100例 (五)
    题目五:输入三个整数x,y,z,请把这三个数由小到大输出。 #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 题目五:输入三个整数x,y,z,请把这三个数由小到大输出。""" __...
    99+
    2023-01-30
    练习题
  • python3 练习题100例 (四)
    题目四:输入某年某月某日,判断这一天是这一年的第几天? #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 题目四:输入某年某月某日,判断这一天是这一年的第几天?""" __auth...
    99+
    2023-01-30
    练习题
  • python3 练习题100例 (二)
    题目二:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%...
    99+
    2023-01-30
    练习题
  • python3--基础总练习题
    1、常用字符串格式化有哪些并说明他们的区别格式化操作符(%)fotmat2、请手写一个单例模式(面试题)无论实例化多少次,他的对象始终是一个内存地址单例模式,示例:class test:    &nb...
    99+
    2023-01-30
    练习题 基础
  • python3 练习题100例 (三)
    题目三:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 题目三:一个整数,它加上100后...
    99+
    2023-01-30
    练习题
  • python3--基础综合练习题
    最好自己先尝试做一做练习1:猜年龄游戏要求:允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出#!/usr/bin/env python # coding: utf-8 __au...
    99+
    2023-01-30
    练习题 基础
  • python3--面向对象--综合练习
    一 基础知识:1  文件操作有哪些模式?请简述各模式的作用r:只读w:只写a:追加r+:可读可写w+:可写可读a+:追加、读rb:读取字节wb:写入字节ab:追加字节rb+:字节的可读可写wb+:字节的可写可读ab+:字节的追加、...
    99+
    2023-01-30
    面向对象
  • Python学习—字符串练习
    输入一行字符,统计其中有多少个单词,每两个单词之间以空格隔开。如输入: This is a c++ program. 输出:There are 5 words in the line. 【考核知识点:字符串操作】代码: s=input...
    99+
    2023-01-31
    字符串 Python
  • python3学习之字典
    字典:简单字典:dic = {1:'a',2:'b',3:'c'}嵌套字典:字典中可包含元组、列表、字典dic = {1:'a',2:'b',3:'c',4:{1:'a',2:'b',3:'c'},5:[1,2,3],6:(5,6)}dic...
    99+
    2023-01-31
    字典
  • python中字典的练习
    源代码如下:#!/usr/bin/env python#Filename:addressbook.pyadbook={'alice':100,'bob':101,'chanel':102}while True:    choice=raw_...
    99+
    2023-01-31
    字典 python
  • 学习网络编程No.5【TCP套接字通信】
    引言: 北京时间:2023/8/25/15:52,昨天刚把耗时3天左右的文章更新,充分说明我们这几天并不是在摆烂中度过,而是在为了更文不懈奋斗,历时这么多天主要是因为该部分知识比较陌生,所以需要我们花...
    99+
    2023-09-05
    网络 学习 tcp/ip
  • python3学习之字符串
    s='this is test message's.capitalize()    首字母大写,其它小写               s.find(sub[, start[, end]])      在指定范围内(默认全部字符串),查找su...
    99+
    2023-01-31
    字符串
  • python3--字典,字典的嵌套,概念:分别赋值
      字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据。python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可哈希的。可哈希表示key必...
    99+
    2023-01-30
    字典 嵌套 赋值
  • python 练习题之【数字排序】
    今天linux技术圈的逗哥出了道题,题目很简单 要求: 2 9 5 7 6 1 4 8 3 5 4 2 求每行的最大值 最近刚好在学习python,感觉py也可以做出来。   #!/usr/bin/env pytho...
    99+
    2023-01-31
    练习题 数字 python
  • python UDP套接字通信
    UDPserver.py 1 import socket 2 #导入套接字模块 3 4 s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 5 # - socket.AF_...
    99+
    2023-01-30
    通信 python UDP
  • python套接字socket通信
    目录一、初步认识二、socket对象一、初步认识 socket被翻译成套接字,尽管有些人诟病,但我觉得还挺贴切的。其功能是提供低级别的网络服务,最常用的就是根据IP来传输数据。 所谓...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作