当前位置: 首页 > 知识库问答 >
问题:

lua nginx模块中提到的TCP套接字是什么?

严亦
2023-03-14

这让我想到了一些问题:

  1. 此TCP套接字是另一种类型的Unix域套接字吗?这个TCP套接字到底是什么?
  2. 文件中提到的cosocket是什么?我用谷歌找不到
  3. TCP/IP模型的传输层也使用TCP协议,此API是否允许直接在传输层编程,绕过应用层?

共有1个答案

翁和正
2023-03-14
  1. 此TCP套接字是另一种类型的Unix域套接字吗?这个TCP套接字到底是什么?

TCP和unix域套接字都是流套接字。您可以使用ngx.socket.tcp()API创建这两种类型的套接字。OS套接字的类型将由connect方法定义,有两种不同的语法:

如果使用tcpsock:connect(host,port,options_table?)语法连接,套接字将是TCP套接字。

如果通过tcpsock:connect(“unix:/path/to/unix-domain.socket”,options_table?)语法连接,套接字将是unix域套接字。显然,您不能使用unix域套接字进行网络通信。

Cosocket是开放生态系统的术语。如果您使用ngx.socket.tcp()API创建一个对象-您将创建一个cosocket对象。

完全正确。

 类似资料:
  • 在TCP套接字代码中,我们创建了2个套接字。第一个接收新连接,第二个接收来自客户端的数据,并在建立新连接时创建。 TCP报头中的什么控制位允许服务器知道是将此段传递给ServerSocket(连接请求被发送到的那个)还是Socket(连接建立后为通信而创建的Socket)?

  • 本文介绍:http://tldp.org/howto/tcp-keepalive-howto/overview.html 它指出TCP保持有效的原因是: null TCP keepalive对于上面的情况仍然是必要的吗?

  • 当我进行套接字编程时,我无法清楚地理解。 我的理解是 如果我使用此选项打开套接字,表示我可以在header之前创建自己的header,但最终数据以 /code>协议的格式发送。我的理解是正确的。如果错了,可以一些解释。 谢谢

  • 问题内容: 任何人都可以通过TCP发送Ascii msg的示例给我(在网上找不到示例) 谢谢, 射线。 问题答案: 这是一个写入和读取回显服务器的示例。 简化摘录:

  • 问题内容: 我的Go服务器上有一个有效的TCP套接字设置。我接受传入连接,运行for循环并使用net.Conn.Read函数读取传入数据。 但这对我来说毫无意义。如何知道已收到完整的消息以便继续返回消息大小? 这是我目前的代码: 可以说我的应用程序发送的消息长度为6个字节(可以是任意大小)。怎么知道收到消息后才继续呢? 我的经验主要在于C#,所以Go在这里并不常见。对于我的C#应用​​程序,消息具

  • 结果: 在步骤6中,如果服务器在几分钟内关闭死连接--CY,则新通道CY2将变为单向--从客户端Y发送的数据不能到达服务器,包括ACK数据包,而反之亦然。 如果服务器在很长的时间(例如2小时)内关闭了已死的连接--CY,则不会出现任何问题。 这个问题只在运行NAT时才会发生,至少我们在同一个LAN中运行应用程序时不会重现这个问题(不需要穿越NAT)。 更多信息: 1)第一台计算机上的连接A:192