问题标签 [tcp-ip]

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.

0 投票
1 回答
208 浏览

security - TCP IP的缺点

在我问任何问题之前,我了解: 1. 传输控制协议 (TCP) 在 IP 之上运行,

  1. TCP 提供有保证的传递,并确保数据包按顺序传递。

  2. 底层网络IP,高度不可靠,不为TCP提供任何保证。

  3. 我不是网络专家。

我一直在阅读 CHRIS CHAMBERS、JUSTIN DOLSKE 和 JAYARAMAN IYER 关于TCP IP 安全性(当今互联网的基础)的一篇有趣的详细安全性文章;不幸的是,它甚至缺乏最基本的安全机制。

我知道 TCP 和 IP 协议是在“互联网”很小的时候设计的,用户通常相互信任。在大多数情况下,所指的两种协议是:用于 IP 的 RFC [RFC 791] 和 TCP [RFC 793]。

正如所讨论的,“由于网络是动态的,来自同一源的两个数据报可能采用不同的路径到达目的地”,以及“IP 只尝试尽最大努力交付。它不考虑丢失数据包;这留给更高层的协议。两个数据报之间没有维护状态;换句话说,IP 是无连接的......”。

在其他许多问题中,没有一个 IP 字段是加密的,也没有身份验证(请注意,这在 IP6 中已部分修复)。

是否有针对 TCP/IP 4 弱点的“真正”修复?

0 投票
1 回答
451 浏览

udp - 编辑特定端口上的传入数据包

我知道有各种程序可以嗅探数据包,例如 WireShark,但我很确定您只能查看数据。我想知道是否可以编辑传入的数据包。我不确定数据包是否是正确的术语。我只想编辑通过互联网接收的传入数据,并且谁的目的地是特定应用程序。假设我正在玩在线游戏。当它加载我的电脑时,它正在接收诸如“这个人的钱袋里有 10 个硬币”之类的信息。显然不完全一样但你明白了。我希望能够更改数据,所以说是 100 而不是 10。我知道如果你这样做是可能的:想象我的计算机通过以太网线连接到互联网。有一个连接到以太网线的设备接收数据并更改它,然后让它继续到我的计算机。我只想知道这是否可能,以及如何实现。

谢谢!

0 投票
1 回答
2105 浏览

javascript - Node.js HTTP/NET——连接和请求的区别

这个问题涉及围绕 tcp/ip 协议的一般概念,So 上已经有很好的答案,但我希望能够深入了解 node.js http/net 库的特殊性。

节点 http 服务器实例允许为两种类型的事件注册回调,“请求”事件和“连接”事件。后者是从 net 库继承的,还有一个字段“_connections”,它计算服务器当前拥有的并发连接数。

现在,在我看来,由于 http 是一个无状态协议,请求和连接事件之间应该有 1-1 的对应关系——但事实并非如此。在我的调试器中单步执行一个简单的“hello-world”服务器时,我看到请求事件的数量超过了连接事件的数量。我还看到,即使没有对服务器进行调用(并且进程没有暂停),.connections 字段也永远不会归零。为什么请求数不等于连接数,为什么服务器会在最终调用 response.end() 后保持连接打开(当应该刷新响应缓冲区并且连接结束时?)。

此外,http 服务器的并发连接数(不使用 keep-alive 做任何事情)怎么会高于 1?请求基本上不会在套接字上排队并一一处理吗?我知道 Node 是异步的,但我也认为它以单线程方式运行。

提前致谢!

0 投票
1 回答
2177 浏览

.net - TCP/IP 侦听器 Web 应用程序 .net

参考链接- http://www.codeproject.com/KB/vb/winsock_revanped.aspx

我们开发了VB.Net应用程序或windows应用程序,它通过TCP/IP监听器接收客户端连接请求,使用VB6编程语言开发的客户端应用程序。windows 聊天服务器是基于上面链接的示例代码开发的。

我的应用程序是从 VB6 应用程序接受订单的酒店数据库。由于我们现有的 VB6 应用程序具有所有功能、数据库等。此外,VB6 PC 使用 TCPIP 侦听器为 LAN 中的节点获取数据。现在我们计划将节点更改为网站。服务器(本地 PC 上运行的 VB6 应用程序),我不想更改,只是我们要转移到 Web 的节点。

客户端和服务器之间的通信工作正常,没有问题,但我正在尝试开发一个 Web 应用程序。所以我的问题是 Web 应用程序或任何等价物支持 TCP 侦听器吗?,或者在Web应用程序的情况下使用Web服务进行通信更好?

Web 应用程序 ASP.net(VB/C# .net 3.5) 将在专用服务器 windows 2003 R2 上运行。到目前为止,我们可以创建一个 Windows 应用程序,并尝试在 Web 服务器上安装它。我为测试创建的聊天服务器应用程序在我的 LAN 上运行良好,我不确定它是否也可以在 Web 服务器上运行。在局域网的情况下,我使用局域网 IP,对于互联网,我将不得不使用互联网 IP。如果这可行,它是否会有安全问题或问题。用于 TCP/IP 通信的所需端口在 Web 服务器上保持打开状态。

框架 3.5,用于 TCP/IP 侦听器 Web 应用程序的 VS2008。

0 投票
1 回答
265 浏览

tcp-ip - recv() 函数不会在 python 中返回消息

我是使用 python 连接 TCP/IP 的新手

我有这个简单的代码:

但是当我运行它时,它只会永远运行并且不会给我任何结果!!!

请你帮助我好吗。谢谢

0 投票
1 回答
205 浏览

iphone - 滑块上的 TCP/IP 连接

我正在尝试在滑块更改值上使用 TCP/ip 连接发送数据,但连接失败事件直接调用 NSStreamEventErrorOccuer:我正在使用下面的链接进行连接。

http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server

0 投票
1 回答
1320 浏览

performance - 在用户空间与内核空间中实现协议 - 性能影响

我正在寻找一些关于将协议实现(例如 TCP/IP 堆栈从内核移动到用户空间)的影响的文章/论文。它显然会产生影响,但有多大?或者有任何关于上下文切换成本的文献。我意识到可能没有准确的答案,因为这取决于应用程序。因此假设它是一个网络堆栈,如果任何人都可以提供一些输入,那就太好了。我用谷歌搜索,但找不到任何好的东西,除了这个用户空间与内核空间程序性能差异 ,但它没有提供足够的信息。

0 投票
1 回答
20505 浏览

java - 错误:与主机的 TCP/IP 连接失败。java.net.ConnectException:连接被拒绝:连接

我在用

  • Windows 7的
  • Netbeans IDE 7.1.2
  • SQL Server 管理工作室速成版 2005
  • JDK1.6

连接数据库时出现以下错误:

com.microsoft.sqlserver.jdbc.SQLServerException:与主机的 TCP/IP 连接失败。java.net.ConnectException:连接被拒绝:连接

我的连接字符串是:

我检查了以下内容:

  1. 在 SQL Server 配置管理器中,SQLEXPRESS 的协议:启用 TCP/IP 事实上,我也启用了剩余的 3 个。
  2. SQL Server(SQLExpress) 和 SQL Browser 服务都在运行。
0 投票
1 回答
1453 浏览

netty - 用于许多长期 TCP 连接的 Netty 服务器

我正在将一些 TCP 服务器/客户端代码移植到 Netty。

一个问题,服务器将处理来自许多客户端的长期连接。我目前不需要也很可能不需要在批处理操作中向所有客户端广播等事情......但我只需要一个存储这些频道的地方和一个允许我有选择地向下发送通知的机制给给定一些客户 ID 的客户。

我的问题是 ChannelGroup 是一种可接受的机制来保存这些频道吗?当我第一次获得连接时,我会将频道 ID 和客户端 ID 存储在查找映射中,这样每当我需要通知特定客户端时,我都会查找我需要写入的频道 ID,然后从 ChannelGroup 中获取该频道并且只向该频道发送消息。

这种方法有什么问题吗?

谢谢!

0 投票
1 回答
5160 浏览

ios - CFStreamCreatePairWithSocketToHost 获取本地端点地址

我是 iOS/MacOS 编程的新手,还没有找到我理解的任何示例。我想只需要几行代码就可以做到这一点,如果这已经涵盖了,很抱歉,但对于我的一生,我找不到它。

我正在使用 CFStreamCreatePairWithSocketToHost 创建输入/输出流。我只想获取本地端点信息(特别是 IP 地址,真的不关心端口)。我已经从我的服务器获取了公共 IP 信息,但出于安全/日志记录的原因,我也需要本地地址。

如果重要的话,这是在 iOS 上,而不是在 MacOS 上。