使用python和Typscript连接两个套接字(客户端和服务器)

旅行者你好

问题

我在连接两个插座时遇到问题。关系是客户端和服务器(单个连接)。

是)我有的

我能够使用python3成功运行服务器,也能够成功托管连接套接字的Angular应用程序,但是当我尝试发出事件或从Angular代码进行连接时,握手时出现400错误python上的错误服务器端看起来像这样

客户端使用的是不支持的Socket.IO或Engine.IO协议版本(此错误的进一步发生将以INFO级别记录)

我希望能够做些什么连接到服务器,并让它发送json有效负载和更高版本的视频供稿。

Python3代码

import eventlet
import socketio

sio = socketio.Server(cors_allowed_origins='*')

app = socketio.WSGIApp(sio, static_files={
    '/': {'content_type': 'text/html', 'filename': 'index.html'}
})


@sio.on('sensorframe')
def message(sid, data):
    print('message ', data)

@sio.event
def controller(command: str):
    print(command)

if __name__ == '__main__':
    eventlet.wsgi.server(eventlet.listen(('127.0.0.1', 8010)), app)

python-socketio版本= 5.0.4

import * as io from 'socket.io-client';

export class GuagesComponent implements OnInit {
  private sensorframe: object;
  public socket: SocketIOClient.Socket;

  constructor(
    private ref: ChangeDetectorRef,
    private _socketService: SocketsService
  ) {
    this.socket = io.connect('http://127.0.0.1:8010', {
      reconnection: true,
      reconnectionDelay: 5000,
      reconnectionDelayMax: 5000,
      reconnectionAttempts:  5,
      transports: ['websocket', 'polling', 'flashsocket', 'xhr-polling'],

    });
    console.log(io.protocol); // 4
  }

  private eventFire(): void {
   this.socket.emit('controller', 'data from client');
  }

  public ngOnInit(): void {

  }
}

日志输出

python3 server.py 
(149348) wsgi starting up on http://127.0.0.1:8010
(149348) accepted ('127.0.0.1', 51348)
The client is using an unsupported version of the Socket.IO or Engine.IO protocols (further occurrences of this error will be logged with level INFO)
127.0.0.1 - - [15/Jan/2021 17:58:38] "GET /socket.io/?EIO=3&transport=websocket HTTP/1.1" 400 195 0.000308
(149348) accepted ('127.0.0.1', 51392)
旅行者你好

降到版本。套接字IO客户端在前端还不错,但我必须将此版本用于python3

engineio == 3.13.2和python-socketio == 4.6.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

通过中央服务器连接通过不同线程连接的两个套接字客户端作为客户端服务器对

尝试将两个客户端套接字连接到服务器时未设置ObjectoutStram

socket.io - 客户端通过同一服务器连接到两个套接字

套接字连接被拒绝,但是客户端和服务器均独立工作

在C中运行客户端和服务器套接字连接-带线程

如何在此客户端和服务器之间创建套接字连接

TCP 套接字客户端和服务器在一个程序中使用 c Linux

如何使用Java套接字实现客户端和服务器之间的文件传输

在C ++中使用TCP套接字进行远程客户端和服务器通信

设置客户端套接字和服务器套接字侦听器 (Java)

如何使用url将python套接字客户端连接到服务器套接字?

如何使用 Java 客户端和 Python 服务器通过套接字创建 IPC?

使用Python服务器和Android客户端进行套接字编程

服务器/客户端套接字连接

两个Azure VM上的NFS服务器和客户端,客户端无法连接

如何使用客户端套接字作为服务器套接字python

是否可以在客户端和服务器端都关闭Java套接字?

套接字Java客户端-Python服务器

通过SSH和身份验证密钥使用的客户端和服务器连接

C#UDP套接字客户端和服务器

套接字io无法同时接收客户端和服务器的事件

C服务器套接字拒绝python客户端的连接

C ++套接字客户端到python服务器未创建连接

使用标准Web套接字客户端连接到Socket.io服务器

TCP套接字服务器/客户端连接应使用哪个IP /端口?

一个简单的客户端服务器套接字程序的PrintWriter和OutputStream

React客户端套接字未与服务器套接字连接

如何使服务器套接字广播到那里,并让客户端套接字检测并连接

将客户端套接字与服务器套接字连接时出现问题