草庐IT

c# - 在 C# 中检查主机是否在线(监听端口)的最简单方法

检查net.tcp://localhost:8801/上是否有任何监听的最简单方法是什么最好使用WCF 最佳答案 我认为WCF不是最好的方法。只需打开一个Socket(或TcpClient)并尝试连接到该端点。 关于c#-在C#中检查主机是否在线(监听端口)的最简单方法,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2204332/

python - 如何在 Python Twisted 中获取原始 TCP 连接主机名?

使用Twisted的TCP机制,在创建协议(protocol)时,有关对等点的唯一信息是其IP地址和端口。如何检索我尝试连接的原始主机名?reactor.connectTCP('somehost.com',80,MyFactory)我怎样才能以某种方式通过回调获得'somehost.com'?换句话说,connectTCP返回一个IConnector(无论它做什么)——我如何将它与回调中的有形事物对应起来,因为没有使用延迟? 最佳答案 Jerub的回答在语义上是有道理的。在深入研究Twisted代码之后,有一种更方便、更直接的方法可

c# - 如果使用 TCP 与主机失去连接,则重新连接 - C#

如果主机掉线,他们会失去所有连接的客户端,并且不会因为我的中断而自动重新连接;在代码中。如果我不休息;在代码中,它会一遍又一遍地向同一个用户发送大量垃圾邮件。基本上,如果主机在session中间出现故障,我希望客户端在主机恢复后自动重新连接。这是我的代码publicstaticvoidtryConnect(){while(true){try{TcpClientclient=newTcpClient();client.Connect(IPAddress.Parse(host),port);NetworkStreamstream=client.GetStream();stringuser=

c# - 阻止到给定主机或 IP 的传出 TCP 连接?

是否可以在Windows中拦截到给定主机或IP的传出TCP连接并在TCP级别(即connect(...)层)阻止该连接?或者首先阻止连接到特定IP?或者我需要写一个数据包过滤器来拦截到某个地址的流量吗? 最佳答案 最好只使用系统的防火墙API。在Windows上:http://msdn.microsoft.com/en-us/library/aa366449(v=VS.85).aspx否则,您将需要编写驱动程序等...考虑到目前操作系统内置的功能,这完全是一件麻烦事。 关于c#-阻止到给

java - 打开tcp InetSocketAddress到应用程序路径(不仅仅是主机+端口)

我正在尝试连接到Android中的TCP套接字。我知道套接字服务有效,因为我可以在浏览器中(在JavaScript中)连接它并与之交互,如下所示:varws=window.WebSocket||window.MozWebSocket;window.ws=newwsImpl('ws://foo.bar.com:8282/MySocketService','my-protocol');...因此,在我的Android应用中:这连接成功,但我从未收到来自它的消息:SocketAddresssa=newInetSocketAddress("foo.bar.com",8282);连接失败:Soc

linux - 是否可以找到哪个用户位于本地主机 TCP 连接的另一端?

这是一个编程问题,但它非常特定于Linux/Unix。如果我从localhost获得TCP连接,是否有一种简单的方法可以告诉哪个用户在C程序中建立了连接而无需退出?我知道这对于Unix域套接字来说并不难。我已经知道远程IP地址是本地主机(::1或127.0.0.1)并且我知道远程端口号。我不知道的是建立连接的进程的有效用户ID。有什么办法可以发现这一点? 最佳答案 在Linux上,/proc/net/tcp包含有关系统上打开的TCP套接字的信息。对于已连接的套接字,条目如下所示(header是文件的一部分,其他行已删除):slloc

c - 如何在 ESP32 上正确设置 TCP/IP 适配器的主机名

问题Espressif的ESP-32(在本例中为ESP-WROOM-32)出现在默认主机名为“Espressif”的网络上。我不想使用这个主机名,所以我选择按如下方式更改它://InitializetheTCP/IPadapter(launcheshandlertask)tcpip_adapter_init();//SetthehostnameforthedefaultTCP/IPstationinterfaceif((err=tcpip_adapter_set_hostname(TCPIP_ADAPTER_IF_STA,g_hostname))!=ESP_OK){returnerr;

tcp - 主机名查询的端口是什么?

我想查询一个IP以获取其主机名。这个的标准端口是什么?它可能是/etc/services中“主机名”下列出的端口101吗? 最佳答案 UDP端口101用于提供“主机名”服务,但原始RFC(RFC811)已被RFC953废弃,并且RFC953被标记为“历史性”。这些天,您会咨询DNS(域名系统),其中列出了许多其他相关的RFC作为更新。并且您通常会针对您使用的语言使用适当的库函数来查询DNS(一个问题是您应该查询的DNS服务器的IP地址是什么)。在这两种情况下(主机名和DNS),您查询的机器不是具有您感兴趣的特定IP地址的机器。从您的

unix - Codeigniter 数据库设置 - 为什么 127.0.0.1 有效,而本地主机无效

在我的Unix网络服务器上,我有两个MySQL数据库服务器在运行。一个在3306端口,另一个在3307端口。我想在codeigniter的/config/database.php中指定要连接的数据库的端口号。我试过了....$database['hostname']="localhost:3307";这没有用。webapp连接到端口3306上的数据库。然后我试了一下....$database['hostname']="127.0.0.1:3307";这成功了。Web应用程序已连接到端口3307上的数据库。我不明白为什么?有人可以对此有所了解吗?我认为这不是codeigniter的特定问

Linux主机下连接远程postgresql数据库、容器版postgresql数据库

背景简单啰嗦一下背景,想看解决方案的,直接跳过本章节。最近在预研postgresql的功能,其中有个场景就是需要在系统中ssh到postgresql集群上执行psql命令。但是我只有容器版的postgresql,并不能直接ssh到容器中。而ssh到我自己的主机上,由于没有安装postgresql,不能执行psql命令。我想到了以下两个解决方案:直接配置容器IP,ssh到容器内,这样就可以执行psql命令,但是检索了相关操作后,发现很繁琐,还要修改主机配置。可能会影响主机的其他应用,于是放弃了。在我自己的主机上部署postgresql。检索了相关教程后,发现需要新建用户,而我本身的账号没有主机上