问题标签 [io-socket]
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.
perl - 如何在 Perl 的套接字上设置“SO_RCVTIMEO”?
如果我这样尝试:
然后我的脚本因“setsockopt:[第 2 行] 的无效参数”而死亡。和pod 没有说,尽管 perlfunc 给出了一个例子IO::Socket
,使它看起来像上面应该工作。perlfunc
TCP_NODELAY
(快速说明:我已经尽我所能回答了我自己的问题,但当然欢迎更好的答案。最明显的“更好”是它是可移植的,至少在 POSIX 机器上)
perl - 如何从 perl 中的 IO::Async::Loop 事件中删除 IO::Async::Listener (或其通知程序)对象
我有一段代码使用 IO::Socket::UNIX 创建一个 UNIX 域套接字,并将其提供给 IO::Async::Listener 的一个实例,以处理监听套接字并通知接收数据。然后,将 IO::Async::Listener 添加到 IO::Async::Loop 事件循环实例中。当然,套接字是在受控管理器中动态创建的。
在某种情况下,我想从事件循环中删除套接字(完全删除它,或者如果可能的话在其他情况下暂时禁用它)但我不知道如何。
IO::Async::Loop 提供通过 $loop->remove( $notifier ) 从事件循环中删除 IO::Async::Notifier 对象,但创建通知器由 IO::Async::Listener 内部处理(通过 IO ::Async::Stream,我猜?)。即使在我的脚本的 Ctrl-C 上,套接字文件也没有被删除,我只需要手动close $socket and unlink( $path )
处理套接字文件吗?
这是所需行为的抽象代码:
perl - 这个 IO::Socket::UNIX 示例有什么问题?
我正在尝试通过 Unix 套接字实现一个简单的回显客户端/服务器。(我的最终目标是交换 JSON 数据,但这个例子是为了简单起见)。我不知道为什么客户端进程在第二次尝试打印到套接字时会消失在黑洞中。
服务器.pl:
客户端.pl:
预期输出:
实际输出:
perl - IO::Socket 服务器和 POST 数据的小问题
由于某些原因,我只能使用 IO::Socket 来构建我的小型 http 服务器(而不是专门用于此的其他模块)。
EDIT1:我编辑了我的问题,我想知道我可以放什么而不是注释行“#last ...”
这是我的脚本:
现在,当我发送 POST 请求时,它(脚本)不考虑最后一行(POST 数据):
脚本输出为:
perl - Sending file over UDP in Perl
Afternoon,
I am writing a small UDP Client/Server in Perl and am having some issues sending files. I understand I need to break the file into chunks (datagrams) and send them to the server.
I am stuck figuring out how to break the file up into datagrams and send them. As of now, I can establish a UDP connection just fine, the server reports when it is received a UDP packet. This is what I have so far, any help would be greatly appreciated!
Server:
Client:
perl - 两个 HTTP 1.1 请求(一个不起作用)?
我即将在这里丢失它,我正在尝试发送两个 HTTP 1.1 以获取我的一些 url 页面的源代码(我不想使用 LWP),并且只有第一个有效,即使我切换了顺序,所以理论上这两个请求都很好,这就是我所做的:
我什至创建了两个套接字以防万一,但结果相同......
问题似乎出在哪里?
提前致谢。
perl - 与简单 TCP 服务器的持久连接
在 perl 中使用这个简单的 TCP 服务器/客户端示例,我如何在不必重新打开连接的情况下继续发送和接收(连续接收数据,并在数据到达时对其进行处理)?
服务器:
客户:
perl - 在 HTTP 服务器中处理 cookie
这是我第一次在这个网站上发帖,但我经常来。我被困在一个我正在编写有趣的项目上。我是 Perl 的新手,所以请放轻松。我已经成功地用 Perl 编写了一个 Web 服务器,它解析 PHP 并处理多个连接。
到目前为止,一切都很好,但我一直在向浏览器发送 cookie。
我想我不明白我的服务器在发送 cookie 之前应该如何解析文档输出(从读取文件以通过 HTTP 发送)。我已经搜索了好几天,结果都是空的。可能我过于复杂了,但是我应该如何知道文档要求发送的关键值?
仅搜索从 Web 解析文档的着陆页,使用HTTP::Cookies
这不是我想要的。在服务器端解析本地文档以获取“Set-Cookie:”之前会发生什么情况,然后再发送标头?
我试过HTTP::Cookies->extract_cookies($my_local_file)
了,但它的回应是
“无法通过包定位对象方法“_header”...”
这是有道理的,因为头文件从未发送过,因为它发生在服务器端。
perl - 发送数据前检查socket是否连接
我正在使用 perl 中的套接字连接编写一个简单的代码:
然后使用循环发送数据:
有没有办法在循环中插入一个命令来检查连接?就像是:
编辑添加我的代码:
arrays - Perl Net::WebSocket::Server
我正在使用 Perl 模块 Net::WebSocket::Server 为访问域的用户构建消息传递系统。我正在使用 CPAN 模块页面中的示例脚本,这是我正在运行的代码:
我想提取某种类型的信息,这些信息将为我提供在线用户,例如 IP 或连接 ID,并将它们全部放入一个数组中。您可以看到我评论过的尝试抓取连接数据并使用 datadumper 打印它,但这只会导致错误或散列。谁能弄清楚如何提取 IP 或连接 ID 并将它们放入一个数组中,以便我知道有多少个唯一连接?
解决方案: