// See https://aka.ms/new-console-template for more information using System ; using WebSocketSharp ; using System . Text . Json ; namespace WebSocket_Demo class Program private static void Main ( string [ ] args ) Console . WriteLine ( "Websocket Demo" ) ; WebSocket web = new WebSocket ( "ws://127.0.0.1:7890" ) ; web . OnMessage += Web_OnMessage ; web . Connect ( ) ; Student_info student_demo = new Student_info ( ) ; student_demo . studentName = "小毛" ; student_demo . id = 181000000 ; student_demo . score = 91 ; web . Send ( JsonSerializer . Serialize ( student_demo ) ) ; Console . ReadKey ( ) ; web . Close ( ) ; //Console.ReadLine(); private static void Web_OnMessage ( object ? sender , MessageEventArgs e ) Console . WriteLine ( "Received a message of " + e . ToString ( ) ) ; class Student_info public string studentName { get ; set ; } public int id { get ; set ; } public int score { get ; set ; }

Python 代码

Python 主要是写一个websocket的server

import websockets
import asyncio
import json
global data
PORT = 7890
print("Running on PORT 7890")
async def echo(websocket,path):
    global data
    id = 0
    print("A client just connected")
    async for message in websocket:
        data = json.loads(message)
        print(data)
start_server = websockets.serve(echo,"127.0.0.1",PORT)
asyncio.get_event_loop().run_until_complete(start_server)
asyncio.get_event_loop().run_forever()
 什么是轮询:设置每一段时间去访问一次服务器,然后服务器返回最新的数据。这样服务器的压力会非常的大,并且还会有延迟。适用于小型程序。
 实现:再客户端的页面设置一个定时发送请求的任务,每个这段时间就要发送一个请求,来获取最新的数据
  app.py
from flask import Flask,render_template
app = ...
                                    NetAssist网络调试助手链接:https://pan.baidu.com/s/1YfyU4r6Kyz5F0ZidPuzT-Q 
提取码:ge99Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。它类似于电话客服部门,客户打电话的时候,部门会分配一个人回答客户的问题,客服部门就相当于 socket 的服务器端了,打电话的人相当于客户端了。Socket一般有 UDP 和 TCP 两种通信方式。UDP速度稍快,稳定性不好,无法丢包
                                    websocket第三方库的调用不支持直接发送除字符串外的其他数据类型,所以在发送请求之前需要将python结构化的格式,转换成字符串类型或者json字符串后,再发起websocket的接口请求。1.连接websocket服务器。2.发送websocket消息。3.接受websocket消息。4.关闭websocket连接。
                                    WebSocket协议是H5新定义的规范,其主要用于解决Web前端与后台数据交互问题,在WebSocket技术没有被定义之前,前台与后端通信需要使用轮询的方式实现,例如Ajax轮询,客户端每隔多少秒主动请求服务端数据,这种方式效率低下,无法完成复杂的需求,而WebSocket则是通过握手机制让客户端与服务端建立全双工通信,从而实现了更多复杂的业务需求。后端的main.py执行处理任务,主要处理流程集中在handler_msg函数上.新建index.html,写入如下代码.
初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处?
答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起。
举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返
                                    WebSocket 协议主要用于解决Web前端与后台数据交互问题,在WebSocket技术没有被定义之前,前台与后端通信需要使用轮询的方式实现,WebSocket则是通过握手机制让客户端与服务端建立全双工通信,从而实现了更多复杂的业务需求。在各种复杂的Web框架中往往集成有自己的WebSocket插件,而这里面隐藏了许多实现细节,下面我们将自己实现一个纯Python版的WebSocket通信功能,并用该技术实现动态绘图,远程CMD执行工具等。前端代码如下.
后端的执行处理任务,主要处理流程集中在函数上.
所以研究了一下websocket:
名词解释:
WebSocketWebSocket协议是一种双向通信协议,它建立在TCP之上,同http一样通过TCP来传输数据,但是它和http最大的不同有两点:
1.WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/UA都能主动的向对方发送或...
                                    关于接口自动化测试,这些年经历了太多的坑,有被动的坑,也有自己主动挖的坑,在这里做了一些总结。主要思考总结下这些年来自动化测试过程中的一些基本的东西,例如何时进行自动化、如何自动化、或是怎么自动化我们的测试工作。
                                    前言前面写了一篇专门介绍使用python去做webservice接口自动化测试的文章,然后有小伙伴看完之后反馈说能不能出一篇pythonwebsocket接口自动化的文章,所以今天这篇文章就专门来和大家聊聊这个问题,如何使用python来实现websocket类型的接口自动化。其实不管是http的接口,还是webservice、websocket的接口,做自动化的思路都是一样的,并没有什么很大的...
                                    JSON简介JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的...