socket服务器代码

  1. # -*- coding: utf-8 -*-
    import socketserver,time
  2.  
  3. myHost = ''
  4. myPort = 50007
  5. def now(): #返回一个时间
  6. return time.ctime(time.time())
  7.  
  8. class MyClientHandler(socketserver.BaseRequestHandler):
  9. def handle(self): #处理每一个连接的用户
  10. print(self.client_address,now()) #打印该用户地址
  11. time.sleep(5) #模拟一个运行
  12. while True: #self.reqeust指的是用户
  13. data = self.request.recv(1024) # 从客户端接受信息
  14. if not data: break
  15. reply = 'Ech0=>%s at %s'%(data,now())
  16. self.request.send(reply.encode()) #发送信息给客户端
  17. self.request.close()
  18.  
  19. #创建线程,让服务器一直运行下去
  20. myaddr = (myHost,myPort)
  21. server = socketserver.ThreadingTCPServer(myaddr,MyClientHandler)
  22. server.serve_forever()

socket客户端测试代码

  1. # -*- coding: utf-8 -*-
    from socket import *
  2.  
  3. serverHost = 'localhost'
  4. serverPort = 50007
  5.  
  6. while True:
  7. messages = [input('输入').encode()] #输入信息,并设置编码, 可设置b''或者str.encode()
  8.  
  9. socketobj = socket(AF_INET, SOCK_STREAM) # 创建TCP对象
  10. socketobj.connect((serverHost, serverPort)) # 连接端口
  11.  
  12. for line in messages:
  13. socketobj.send(line)
  14. data = socketobj.recv(1024) # 从服务器接受信息
  15. print('Client received:', data.decode()) #打印信息,解码打印,str.decode()
  16.  
  17. socketobj.close()

1.3用socketserver创建服务器的更多相关文章

  1. java20 创建服务器:ServerSocket

    创建服务器:ServerSocket import java.io.BufferedReader; import java.io.IOException; import java.io.InputSt ...

  2. SQLServer 创建服务器和数据库级别审计

    概述 在上一篇文章中已经介绍了审计的概念:本篇文章主要介绍如何创建审计,以及该收集哪些审核规范. 一.常用的审核对象 1.1.服务器审核对象 1.FAILED_LOGIN_GROUP( Audit L ...

  3. node.js和express创建服务器

    创建web服务器 一. 使用node.js创建服务器. 使用express创建http服务. 监控服务器的变化. 二. 初始化配置文件:npm init -y 使用typescript编写,导入nod ...

  4. SQL Server 创建服务器和数据库级别审计

    一.概述 在上一篇文章中已经介绍了审计的概念:本篇文章主要介绍如何创建审计,以及该收集哪些审核规范. 二.常用的审核对象 2.1.服务器审核对象 1.FAILED_LOGIN_GROUP( Audit ...

  5. Node.js创建服务器和模拟客户端请求

    1. 何为服务器 服务器是某种长期运行,等待请求资源的应用程序 2. 常见Web应用架构 3. 如何创建web服务器 Web服务器是使用HTTP协议,等待客户端连接后请求资源的驻守应用程序:HTTP协 ...

  6. weblogic创建控制台启动脚本以及创建服务器

    一.创建控制台脚本 二.创建认证文件 通过上面创建的脚本进行启动的时候,会因为密码问题导致起不来,因为在startWebLogic.sh文件中,没有配置用户名和密码.而且通过上面创建的脚本,启动的时候 ...

  7. node.js中使用http模块创建服务器和客户端

    node.js中的 http 模块提供了创建服务器和客户端的方法,http 全称是超文本传输协议,基于 tcp 之上,属于应用层协议. 一.创建http服务器 const http = require ...

  8. node.js中net模块创建服务器和客户端(TCP)

    node.js中net模块创建服务器和客户端 1.node.js中net模块创建服务器(net.createServer) // 将net模块 引入进来 var net = require(" ...

  9. node创建服务器

    //引入核心模块 const http = require('http'); //创建服务器 http.createServer((req,res)=>{ }).listen(3000); // ...

随机推荐

  1. [Spring] ClassPathXmlApplicationContext类

    1. 该类在package org.springframework.context.support包下. 该包在4.0.1中封装在spring-context-***.jar中. 其无参构造函数的文档 ...

  2. liunx进程管理之进程介绍

    关于进程 process ====================================================================================Wha ...

  3. InputSream转为String

    public static String convertStreamToString(InputStream is) { /* * To convert the InputStream to Stri ...

  4. 基于VMware模拟实现远程主机网络通信

    基于VMware模拟实现远程主机网络通信 目的: 基于VMware软件,模拟实现不同网段的两主机,通过路由器进行通信.两主机host A和host B分别处于VMnet6网络和VMnet7网络,都属于 ...

  5. climbing stairs leetcode java

    问题描述: You are climbing a stair case. It takes n steps to reach to the top. Each time you can either ...

  6. div成圆形分布

    1.  css3 ul{                 width: 200px;                 height: 200px;                 background ...

  7. Leetcode 1004. 最大连续1的个数 III

    1004. 最大连续1的个数 III  显示英文描述 我的提交返回竞赛   用户通过次数97 用户尝试次数143 通过次数102 提交次数299 题目难度Medium 给定一个由若干 0 和 1 组成 ...

  8. python中RabbitMQ的使用(交换机,广播形式)

    简介 如果要让每个接收端都能收到消息,此时需要将消息广播出去,需要使用交换机. 工作原理 消息发送端先将消息发送给交换机,交换机再将消息发送到绑定的消息队列,而后每个接收端都能从各自的消息队列里接收到 ...

  9. Nginx+Tomcat集群配置

    Nginx+Tomcat集群配置 一台虚拟机作为Nginx服务 两太虚拟机配置Tomcat+jdk环境 Nginx测试 启动: cd usr/local/nginx/sbin ./nginx ---& ...

  10. python assert使用说明

    python assert断言的作用 python assert断言是声明其布尔值必须为真的判定,如果发生异常就说明表达示为假. assert断言语句的语法格式 判断a与1.b是否一致,msg类似备注 ...