标签: networking

FTP 服务器如何处理来自同一端口的多个连接?

您好,
如果我正确掌握了 FTP 协议(​​RFC959),在默认设置的主动模式下,服务器会建立从其端口 20 到客户端连接的 ip/端口的数据连接。

有人可以向我解释一下这实际上如何适用于多个客户端吗?(或者告诉我哪里错了)

更具体地说,我可以说:

1)调用socket()
2)bind()我的ip/端口20的描述符
3)connect()客户端建立数据连接
,同时在另一个处理不同客户端的线程中我尝试做同样的事情,bind()由于明显的原因,调用将失败。

我知道您可以使用带有 SO_REUSEADDR 的 setsockopt() 来让套接字绑定到相同的地址/端口,但是数据包是否会正确传送?我很迷失。

到目前为止,我无法找到有关此事的任何信息,因此我们将不胜感激。

sockets linux ftp port networking

1
推荐指数
1
解决办法
4216
查看次数

TCP 连接 VS ping 服务器

我必须检测服务器是否打开或关闭,有些人告诉我尝试使用 ping 方式,如果它不起作用我应该在我和服务器之间使用 TCP 连接。有人可以解释一下它们之间有什么区别吗?为什么 ping 方式可能效果不好?谢谢。

c# networking network-programming

1
推荐指数
1
解决办法
2051
查看次数

iOS 上同时下载多少才有意义

我有一个 iOS 应用程序,它在启动时同步一定数量的资产。我正在使用 AFNetworking 并设置 NSOperationQueue 来处理所有下载。我想知道有多少同时下载才有意义。如果我同时需要多个网络,网络性能是否会下降?目前我一次最多下载 5 次。

networking ios afnetworking

1
推荐指数
1
解决办法
2385
查看次数

Android 上的 Java NIO:在连接仍处于挂起状态时尝试读/写?

这个问题涉及 Android 上的 Java NIO(2.2,尽管必要时我可以构建更高的 API):对目标 IP 地址执行 SocketChannel connect() 后,我注册我的通道以进行 READ 操作。问题是,当我尝试对生成的选定键集执行 READ 时,我收到 NotYetConnectedException。虽然我可以在尝试读取之前使用 isConnectionPending 检查通道的状态,但理想情况下,我希望仅在连接实际工作时才选择读取键。有任何想法吗?

networking android nio

1
推荐指数
1
解决办法
744
查看次数

是否可以使用 Java 后端制作浏览器游戏?

我可以将 Java 后端用于带有 Javascript 前端的浏览器游戏吗?由于我已经拥有 Java 和 Javascript 方面的知识,所以我很困惑,如果我应该为此目的而忘记 Java 并跳到后端的 NodeJS,尽管我想在未来专注于 Java。我是否需要学习 Java Servlets 和 JSP 或者一本关于 Java 网络的书是否足以处理通信,或者两者都是必需的,因为 Servlet 是运行在 web 容器上的 web 应用程序的一部分,而 Java 网络不是独立的。

java networking jsp servlets backend

1
推荐指数
1
解决办法
1656
查看次数

入站和出站端口需要相同或不同

Senario:有两台服务器运行在不同的 VPC 上。两台服务器都是公开可用的。服务器一(例如公共 IP:13.126.233.125)在 8000 端口上托管一个文件,并且在服务器和安全组上安装的所有防火墙上都打开了入站端口 8000。

服务器二想要使用“wget 命令”获取该文件。端口 80 出站服务器-2 已打开。我试图做“wget http://13.126.233.125:8000/file.txt ”,它显示连接被拒绝。我必须在 Server-2 的出站中打开端口 8000 才能完成这项工作。

按照我的逻辑,这应该可以在出站列表中不添加 8000 的情况下工作。服务器一托管在 8000 上,服务器二不是必须从 8000 端口启动连接。server-two 可以使用任何临时端口或端口 80,因为这是 http 连接。

请解释为什么需要在第二台服务器上打开出站端口 8000。

sockets port networking vpc amazon-web-services

1
推荐指数
1
解决办法
5186
查看次数

更改python请求的IP

如何在python中更改HTTP请求的IP?
我的朋友为一个网站构建了一个 API,有时它会阻止某些 IP,因此我们需要更改请求的 IP……这是一个示例:

login_req = self.sess.post('https://www.XXX/YYY', params={...}
Run Code Online (Sandbox Code Playgroud)

现在,它发送的每个请求都是通过计算机的 IP,我们基本上需要它通过一个虚构的 VPN。

谢谢您的帮助。如果有什么不清楚的,我会解释。

python networking

1
推荐指数
1
解决办法
4799
查看次数

NodeJS - 强大的 200 MB 文件限制和崩溃

我有 nodejs 服务器:

var http = require('http');
var formidable = require('formidable');
var fs = require('fs');
http.createServer(function (req, res) {
  if (req.url == '/fileupload') {
    console.log(req.rawHeaders)
    var form = new formidable.IncomingForm();
    form.parse(req, function (err, fields, files) {
      if (err) throw err;
      var oldpath = files.file.path
      var newpath = 'C:/VSI/' + files.file.name;
      fs.rename(oldpath, newpath, function (err) {
        //if (err) throw err;
        //res.write('File uploaded and moved!');
        if (err) {
          res.write(JSON.stringify({
            success: false,
            message: 'error happend'
          })
          );
          res.end()
          throw err;
        }

        res.write(JSON.stringify({
          success: …
Run Code Online (Sandbox Code Playgroud)

networking node.js formidable retrofit2

1
推荐指数
1
解决办法
3188
查看次数

为什么要在 aws 安全组的入站 IP 地址中指定 cidr 范围

例如,在AWS安全组中,我们指定了一个可以登录的IP地址,然后我们把/24或/32作为IPv6

这是指定cidr范围的唯一原因,还是我们可以做更多配置?

例如来自来源:32.232.232.11/24。为什么里面有24个?

networking amazon-web-services aws-security-group

1
推荐指数
1
解决办法
936
查看次数

当涉及高速网络消息传递时,使用易失性字典是一个不错的选择吗?

前提

我正在开发一个多人游戏,我有许多网络控制的演员,我决定将女巫的输入存储在一个易变的字典中:

public static volatile Dictionary<string, QuickMessage> quickPlayerMessages;
Run Code Online (Sandbox Code Playgroud)

并且每一帧演员都从该字典中获取他们的值,但与此无关,我还有一个接收器线程不断更新该字典,因此值会不断更改,并且键可能会被删除或添加到其中。我做了一些测试,这有效,但是......

我的顾虑

我不完全理解 volatile 修饰符,我知道它应该消除一些可能导致读取部分写入信息的优化。我还听说这并不像使用锁定机制那样真正起作用。虽然我确实选择了这个解决方案,因为它为我减少了很多复杂性,而且看起来它的响应速度相当快(速度方面),但我确实对此感到不安。

是否有任何可能出现的问题或我应该从这种方法中意识到的问题?

c# networking volatile thread-safety

1
推荐指数
1
解决办法
74
查看次数