问题标签 [tcpsocket]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby - Ruby TCPSocket - 无法建立连接,因为目标机器主动拒绝它
无法TCPSocket
连接到TCPServer
:
客户
服务器
错误:
当连接到 IIS 正在监听的端口 80 时,TCPSocket 工作正常,所以我认为 TCPServer 示例有问题。
关闭防火墙没有帮助。此外 - 当我停止 IIS 并将 TCPServer 设置为端口 80 时,错误是相同的。
ruby - 一个 TCPSocket,两个线程
我需要为TCPSoket
客户端实现一个监听循环,它不会阻止将数据发送到同一个套接字。
大概的结构是这样的:
这种结构一切都好吗?
我需要在这里实施两种策略:
- 响应 = 发送请求(请求数据)
- listener - 当传入的数据不是对我的请求的响应,而是我必须收听的异步数据时。
javascript - TCPSocket.send:缓冲区满时会发生什么?
从以下文档:TCPSocket.send
如果 send 返回
true
,则缓冲不到 64k 并且立即写入更多是安全的。如果 send 返回
false
,则缓冲了超过 64k 的数据,调用者可能希望等到触发了 drain 事件,然后再通过更多的 send 调用缓冲更多数据。
这告诉程序下一步最好做什么以避免缓冲区溢出。
如果缓冲区已经满了怎么办?程序可以在发送数据之前检查缓冲区是否已满吗?
c - TCP recv 和接收缓冲
我的网络应用程序项目有问题。
这是我的主要结构的一部分:
这是处理recv返回值的函数
这是处理数据缓冲的函数:
这是处理 INT 变量的 recv 的函数:
我想最后一个是完全错误的。我说假设是因为我正在 localhost 中尝试应用程序并且很少收到部分数据..
在 riceviMsg() 我有这个疑问:
如果我发送 "ciao\0" ,在另一边接收哪个信首先收到的recv?"c" 还是 "\0" ?
谢谢大家:)
Ps:我想我会在将数据转换为字符串后发送数据的长度,我会使用riceviMsg()函数来处理它。我将删除 riceviLenght() 因为它完全错误。但现在我不知道 riceviMsg() 上的缓冲区是否正常工作:/
c - 在 C 中使用 TCP_KEEPALIVE 识别 tcp 套接字上的网络关闭
我正在编写一个从 tcp 服务器接收数据的 tcp 客户端程序。当网络变坏(即网络中断)时,我无法关闭连接。
我使用 SO_KEEPALIVE 允许应用程序为套接字连接启用保持活动数据包。SO_KEEPALIVE 属性打开成功,但我无法修改 KeepAliveTime 的默认值(即 2 小时)
编辑 KeepAliveTime 的另一个可用选项是编辑注册表值,但我在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters位置找不到注册表项
以下代码检查并启用 SO_KEEPALIVE。
但我要求它在用户定义的时间(可能是 5 分钟左右)后断开套接字。请提出任何其他解决方案。
平台:Windows 7 Professional 上的 Visual C 2012
python - Python:等待服务器套接字连接时运行循环
我有一个 LCD 用于显示我在 XBMC 上观看的电影的时间码,我想在没有播放任何内容时显示当前日期和小时。托管 LCD 的机器正在运行 python TCPSocketServer服务器,接收要从我的 XBMC 安装中显示的文本。问题是我必须保持活动的网络连接,这样 XBMC 才能通过套接字发送小时和日期,并且 LCD 可以显示它。在我看来,最好的办法是显示托管 LCD 的机器的日期,然后在套接字处于活动状态时切换到“时间码视图”。
是否有任何“pythonic”方式设置 TCPSocketServer 来计算循环以在等待连接时显示日期,然后更改其行为以计算通过套接字接收的数据?
提前谢谢了
java - 公共上的 Java TCP 套接字
我写了一个服务器和客户端 Java TCP 套接字,它在专用网络(192.168.2.x)上工作,但我不知道如何使它与公共 IP 一起工作。我想我应该在路由器中打开一个端口并使用我的服务器 ip 和这个端口来初始化客户端套接字!我试过了,但没有用。
在这里初始化套接字:
Socket clientSocket = new Socket(IP, PORT);
ServerSocket server = new ServerSocket(PORT);
c# - 使用大于 1 字节的缓冲区时来自服务器的不完整回复
我正在使用 TCP 套接字向服务器发送 XML 格式的消息。服务器以完整的消息响应(我已与 WireShark 核对过),但我在完成它时遇到了问题。当我使用大于 1 字节的缓冲区时,响应在消息末尾缺少缓冲区的剩余大小。当使用 1 字节缓冲区时,它适用于 99% 的情况。我认为这与StringBuilder
我正在使用的有关,但我已经没有想法了。我也试过NetworkStream
and StreamSocket
,但没有运气。任何帮助或回应将不胜感激。
c++ - 通过 TCP 套接字接收可变大小的数据
我在通过(TCP)套接字传输数据时遇到了一个小问题。我在做什么的小背景:
我正在从 A 侧向 B 发送数据。发送的数据可以是可变长度,假设最大大小为 1096 字节。
在 B 上,由于我不知道预期的大小,我总是尝试接收 1096 字节:
但是,当我这样做时:我意识到 A 正在发送小块数据......比如说大约 80-90 个字节。在几次发送之后,B 将它们组合在一起,接收到的字节数为 1096。这显然是损坏的数据和地狱般的松动。
为了解决这个问题,我将数据分成两部分:标题和数据。
A面:
在 B 上,我首先接收标头并确定要接收的有效负载的大小:然后接收剩余的有效负载。
所以,对于每一个有有效载荷的发送,我最终都会调用接收两次。这对我有用,但我想知道是否有更好的方法来做到这一点?
audio-streaming - 在没有 RTSP 的情况下制作音频流
我正在尝试为音频流实现客户端/服务器系统。客户端应该询问文件,服务器应该发送它。然后,客户端应立即播放该文件。我已经阅读了一些基于 rtp 和 rtsp 协议的解决方案,但它们对于我的用例来说太复杂了。我想通过 TCP 套接字使用简单的文件传输,但客户端应该立即播放音频文件,而不是等待下载结束。这个解决方案可能吗?
这是我正在使用的代码。
服务器:
客户:
它仅适用于小 .wav,因此我认为该文件实际上并未在流媒体中播放,而是在下载后立即开始播放。如果文件大小在 1Mb 左右或以上,客户端会返回异常:
而服务器返回异常:
请帮忙?
环顾四周,我了解到我需要使用 HTTP 渐进式下载,但我没有找到任何使用 HTTP 渐进式下载的客户端/服务器示例实现。