Questions tagged «networking»

对于大多数编程问题,请使用[network-programming]标签。非编程网络问题不在主题之列,而应该在网络工程,超级用户或服务器故障上询问。该标签仅适用于有关支持软件开发的独特网络需求的问题。


8
如何中断ServerSocket accept()方法?
在主线程中,有一个while(listening)循环,该循环调用accept()ServerSocket对象,然后启动新的客户端线程,并在接受新客户端时将其添加到Collection中。 我也有一个Admin线程,我想使用它发出诸如“ exit”之类的命令,这将导致所有客户端线程被关闭,关闭自身并通过侦听false关闭主线程。 但是,循环中的accept()调用会while(listening)阻塞,并且似乎没有任何方法可以中断它,因此,无法再次检查while条件,并且程序无法退出! 有一个更好的方法吗?还是以某种方式来中断阻塞方法?



20
检查网络连接
我想看看是否可以访问在线API,但是为此我需要访问Internet。 如何使用Python查看是否存在可用的活动连接?
133 python  networking 

14
ssh:无法解析主机名[hostname]:提供的节点名或服务名,或者未知
我正在尝试使用Raspberry Pi建立VPN,第一步是要能够ssh从本地网络外部进入设备。无论出于何种原因,这都证明是不可能的,我也没有丝毫的暗示。当我尝试使用ssh进入服务器时user@hostname,出现错误: ssh: Could not resolve hostname [hostname]: nodename nor servname provided, or not known 但是,我可以使用以下方式登录服务器: ssh user@[local IP] 该服务器是运行最新版Raspbian的Raspberry Pi Model B,而我尝试与其连接的计算机是运行Mavericks的Macbook Pro。ssh当我设置Raspbian时,在Raspberry Pi上启用了。 我已经仔细阅读了数小时的Stack Overflow,试图看看是否有人遇到了这个问题,但是我什么也没发现。ssh我发现的每个教程都说我应该能够在远程计算机上进行设置并使用主机名从任何地方登录,而我从未成功过。
131 linux  networking  ssh  dns 

3
在同一套接字上发送/接收的并行调用是否有效?
我们可以在同一个套接字上从一个线程调用send并从另一个线程调用recv吗? 我们可以在同一套接字上从不同线程调用多个并行发送吗? 我知道好的设计应该避免这种情况,但是我不清楚这些系统API的行为方式。同样,我也找不到很好的文档。 方向上的任何指针都会有所帮助。
127 c  networking  sockets 


18
为什么不建议将数据库和Web服务器放在同一台计算机上?
在听完Scott Hanselman对Stack Overflow团队的采访(第1部分和第2 部分)时,他坚持认为SQL Server和应用程序服务器应该位于单独的机器上。这是否只是为了确保如果一台服务器遭到破坏,两个系统都无法访问?安全问题是否超过了两台服务器的复杂性(额外成本,两台服务器之间的专用网络连接,更多维护等),特别是对于小型应用程序,其中两个服务器都不使用过多的CPU或内存?即使有两台服务器,其中一台服务器受损,攻击者仍可能通过删除数据库或弄乱应用程序代码来造成严重损害。 如果性能不成问题,为什么这会是一件大事?

4
套接字API accept()函数如何工作?
套接字API是用于TCP / IP和UDP / IP通信的事实标准(即我们所知道的网络代码)。但是,它的核心功能之一accept()是不可思议的。 借用半正式的定义: 在服务器端使用accept()。它接受从远程客户端创建新的TCP连接的传入尝试,并创建与此连接的套接字地址对关联的新套接字。 换句话说,accept返回一个新的套接字,服务器可以通过该套接字与新连接的客户端进行通信。旧的套接字(在其上accept被调用)保持打开状态,在同一端口上,侦听新的连接。 accept工作如何?如何实施?在这个话题上有很多困惑。许多人声称接受会打开一个新端口,而您通过它与客户端进行通信。但这显然是不正确的,因为没有打开任何新端口。实际上,您可以通过同一端口与不同的客户端进行通信,但是如何进行呢?当多个线程recv在同一端口上调用时,数据如何知道去向? 我想这是客户端地址与套接字描述符相关联的东西,每当有数据通过时,recv它都会路由到正确的套接字,但是我不确定。 全面了解此机制的内部工作非常好。
126 networking  sockets  tcp 

10
java.net.SocketException:连接重置
我在尝试从套接字读取时遇到以下错误。我正在做readInt()该操作InputStream,并且收到此错误。仔细阅读文档,这表明连接的客户端部分关闭了连接。在这种情况下,我是服务器。 我可以访问客户端日志文件,但它没有关闭连接,实际上它的日志文件表明我正在关闭连接。那么,有人知道为什么会这样吗?还有什么要检查的?当本地资源可能达到阈值时,会发生这种情况吗? 我确实注意到我有以下几行: socket.setSoTimeout(10000); 就在 readInt()。这是有原因的(长话短说),但出于好奇,在某些情况下会导致所指示的错误吗?我在IDE中运行服务器,碰巧使IDE卡在断点上,然后我发现完全相同的错误开始出现在我自己的IDE日志中。 无论如何,仅提及它,希望它不会成为红色鲱鱼。:-(


7
如何从来宾计算机访问主机?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Stack Overflow 的主题。 7年前关闭。 改善这个问题 我刚刚使用VMware Fusion在Mac上创建了一个新的Windows XP VM。VM正在使用NAT共享主机的Internet连接。 如何访问在Mac上使用可以访问的Rails应用程序http://localhost:3000?

8
是什么导致发送TCP / IP重置(RST)标志?
我试图弄清楚为什么我的应用程序的TCP / IP连接每10分钟(准确地说是在1-2秒内)不断打h。我运行Wireshark,发现在闲置10分钟后,另一端正在发送设置了重置(RST)标志的数据包。谷歌搜索告诉我“ RESET标志表示接收器已变得混乱,因此想中止连接”,但这与我需要的详细信息略有不同。是什么原因造成的?沿途有路由器负责吗,还是总是来自另一个端点? 编辑:在我的计算机和另一个端点之间有一个路由器(特别是Linksys WRT-54G)-在路由器设置中我应该寻找什么吗?
122 networking  tcp 

3
在Go中以字符串形式访问HTTP响应
我想解析Web请求的响应,但是在以字符串形式访问它时遇到了麻烦。 func main() { resp, err := http.Get("http://google.hu/") if err != nil { // handle error } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) ioutil.WriteFile("dump", body, 0600) for i:= 0; i < len(body); i++ { fmt.Println( body[i] ) // This logs uint8 and prints numbers } fmt.Println( reflect.TypeOf(body) ) fmt.Println("done") } …
122 networking  go 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.