Репликация рукопожатия STOMP Websocket с Java на PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Репликация рукопожатия STOMP Websocket с Java на Python

Сообщение Anonymous »

У меня есть система Java, на которой работает сервер веб-сокетов с протоколом STOMP.
У меня есть работающий клиент для Java, который использует следующий код для установления соединения: р>

Код: Выделить всё

public void connectToWebSocket(String url, String userId) {
// prepare the STOMP Web Socket client
List transports = new ArrayList();
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
container.setDefaultMaxTextMessageBufferSize(1024 * 1024 * 5); // set the buffer to 5mb
WebSocketClient wsClient = new StandardWebSocketClient(container);
transports.add(new WebSocketTransport(wsClient));
SockJsClient sockJsClient = new SockJsClient(transports);
sockJsClient.setMessageCodec(new Jackson2SockJsMessageCodec());
WebSocketStompClient stompClient = new WebSocketStompClient(sockJsClient);
stompClient.setMessageConverter(new SimpleMessageConverter());
stompClient.setMessageConverter(new MappingJackson2MessageConverter());
stompClient.setMessageConverter(new StringMessageConverter());
stompClient.setInboundMessageSizeLimit(1024 * 1024 * 5); // set inbound msg limit to 5mb
stompClient.setDefaultHeartbeat(new long[]{6000, 5000});
stompClient.setTaskScheduler(new DefaultManagedTaskScheduler()); // prepare the jwt
String jwtToken = generateJwtToken();     // compose the http header
WebSocketHttpHeaders httpHeaders = new WebSocketHttpHeaders();
httpHeaders.add("Authorization", jwtToken);
httpHeaders.add("PROFILEID", userId);      // prepare the stomp header
StompHeaders stompHeaders = new StompHeaders();
stompHeaders.add("Package", packageId);
stompHeaders.add("itemList", itemList);
StompSession stompSession = stompClient.connect(url, httpHeaders, stompHeaders, new MyStompSessionHandler()).get();
}
Я пытаюсь воспроизвести соединение с помощью Python, но столкнулся с проблемой при первоначальном рукопожатии с помощью следующего кода:

Код: Выделить всё

def test_handshake(url, userId):
jwt = test.create_jwt()
headers = {
"Authorization": jwt,
"PROFILEID": userId
}
ws = websocket.WebSocket()
ws.connect(url, header=headers)
print(ws.recv())
ws.close()
Я что-то пропустил? Я не слишком уверен в содержимом низкоуровневого запроса, происходящем в Python. Заранее спасибо за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/784 ... -to-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Репликация рукопожатия STOMP Websocket с Java на Python
    Anonymous » » в форуме JAVA
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Нужны клиент для написания руководства WebSocket в C для STOMP WebSocket Server в Java
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Нужны клиент для написания руководства WebSocket в C для STOMP WebSocket Server в Java
    Anonymous » » в форуме JAVA
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Websocket — ошибка во время рукопожатия WebSocket: неожиданный код ответа: 404
    Anonymous » » в форуме Php
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • Как эффективно и надежно сделать клиент STOMP WebSocket в приложении Android (Kotlin/Java)
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»