草庐IT

socket_desc

全部标签

dart - Flutter Socket.listen() 接收到不完整的数据

使用套接字接收字符串数据。而且似乎传输不完整。服务器发送大约80KB,Flutter套接字有时接收1KB,有时接收大约10KB。尝试了onDone()处理程序,它是一样的。在接收到全部数据之前调用它。我还尝试将数据分成多个部分。我得到了第一个和最后一个数据包,但丢失了两者之间的所有内容。这是坏了吗?这是我的代码:FuturegetNetworkData()async{StringrawData;awaitSocket.connect(ipAddr,port).then((Socketsocket){socket.add(utf8.encode(request));socket.list

node.js - 错误 : Specified protocol was not requested by the client. Flutter 和 Node Web Socket

我有一个flutter代码和Node后端。我想通过套接字进行通信。所以我在flutter中初始化了一个套接字客户端,在Node中初始化了套接字服务器。但是当我尝试连接这个客户端时,它在我的Node服务器中创建了一个错误Error:Specifiedprotocolwasnotrequestedbytheclient.flutter代码...voidinitState(){super.initState();LogEntryRepositoryrepository=newLogEntryRepository();getLogEntries(repository);vars=IOWebSo

sockets - 如何在 Dart 中通过套接字发送文件

我正在尝试通过套接字发送二进制文件,如图像或pdf。我试过以下:file.readAsBytesSync().forEach((f){socket.write(f);});和socket.write(file.readAsBytesSync());但是我收到了一个整数列表而不是一个二进制文件。下面在JAVA中给出的代码工作正常,接收端口以正确的格式获取文件DataOutputStreamdos=newDataOutputStream(s.getOutputStream());FileInputStreamfis=newFileInputStream(file);byte[]buffer

android - 如何在flutter中实现Socket IO客户端数据

你好,我想在flutter中实现SocketIO,因为我正在使用下面的示例,但是我看不到我发送到那个特定channel的数据,我同时使用模拟器和物理设备,但是“我发送到聊天channel的TEST"没有在控制台上打印,请帮帮我。示例:import'package:flutter/material.dart';import'dart:async';import'dart:convert';import'package:flutter/services.dart';import'package:socket_flutter_plugin/socket_flutter_plugin.dart

docker:来自守护进程的错误响应:连接错误:desc = "transport: dial unix:///var/run/docker/containerd/docker-containerd.sock: timeout"

当我尝试通过以下方式杀死Docker守护进程时:dockerkill$(dockerps-q)我收到以下错误:Errorresponsefromdaemon:Cannotkillcontainer:cf5fc4b0e5d1:Cannotkillcontainercf5fc4b0e5d152a7a89682d8835c40c59e9e0c2c41be4aae330ffeb8093814f2:connectionerror:desc="transport:dialunix:///var/run/docker/containerd/docker-containerd.sock:timeout

docker:来自守护进程的错误响应:连接错误:desc = "transport: dial unix:///var/run/docker/containerd/docker-containerd.sock: timeout"

当我尝试通过以下方式杀死Docker守护进程时:dockerkill$(dockerps-q)我收到以下错误:Errorresponsefromdaemon:Cannotkillcontainer:cf5fc4b0e5d1:Cannotkillcontainercf5fc4b0e5d152a7a89682d8835c40c59e9e0c2c41be4aae330ffeb8093814f2:connectionerror:desc="transport:dialunix:///var/run/docker/containerd/docker-containerd.sock:timeout

websocket - Dart 升级客户端 Socket 到 WebSocket

自WebSocket在Dart中不允许直接设置SecurityContext(我需要进行证书检查),我想与SecureSocket建立连接实例,然后使用WebSocket.fromUpgradedSocket构造函数从中创建一个WebSocket实例。这个想法最初是建议的here.但是,我无法使用以下代码(虽然我想要wss,但甚至ws都不起作用):sock=awaitSocket.connect('ws://echo.websocket.org',80);socket=WebSocket.fromUpgradedSocket(sock,serverSide:false);socket.

sockets - 如何通过 Dart TCP 套接字发送原始字节

我遇到了我能想到的最愚蠢的障碍。我正在开发一个flutter应用程序,它应该通过TCP套接字(在本地wifi网络上)发送一个字节数组。所述字节是原始字节,不代表任何编码中有意义的字符(我有0xFF等值)。我的代码使用套接字write方法成功连接并发送数据。不幸的是,该方法仅采用编码的String作为参数,并且从字符代码创建一个会破坏我的消息。这是我的代码:varmessage=Uint8List(4);varbytedata=ByteData.view(message.buffer);bytedata.setUint8(0,0x01);bytedata.setUint8(1,0x07)

mysql - 如何跨多个服务器 nodejs 和 socket.io 存储 socket.id

跨多个服务器存储用户的socket.id的最佳方式是什么?以一个简单的聊天应用程序为例,如果不同服务器上的两个用户正在相互发送消息,则两个服务器必须在某个地方存储每个用户的套接字ID,以便它们可以将消息从一个用户发送到另一个用户。目前我正在使用redis哈希来存储每个用户的套接字ID(如果他们在线),但如果用户有两个连接(例如,他们打开了聊天应用程序的两个选项卡),这将不起作用。继续使用redis的最佳方法是重组数据结构以使其在用户连接两次时工作,还是转移到mongodb或mysql之类的东西更好?我还想要一种使数据过期的方法,例如,如果套接字ID存储超过24小时,那么它应该被自动删除

node.js - 在 node.js 中,socket.io 使用 redis - 这个 redis 是否可用于正常的 redis 使用?

我的理解是socket.io使用redissocket.set('var',val1);varval2=socket.get('var');但是redis不在node_modulessocket.io是否使用它自己的redis私有(private)实例?如果没有,是否可以通过redis客户端访问存储在redis中的socket.io值? 最佳答案 Socket.io使用Redis来存储有关套接字的信息。如果同一个应用程序有多个socket.io服务器,则需要使用它。显然,如果您不覆盖socket.io的数据,您可以将此redis用于