草庐IT

html - C++ Windows 套接字 : Downloading an html file

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion给定:假设我有一个名为“exampledomain.com”的网站,在该网站上,我有一个名为“my_doc.html”的文件,其完整的URL地址为“https://www.exampledomain.com/my_directory/my_doc.html”。(不是我的实际网站;这只是假设)。目的:我正在尝试开发一个客户端应用程序,使用C++和Windows套接字,下载我的HTML文件,解析它,提取一些特

php - 为什么 stream_socket_server 不阻止来自 Windows 上其他套接字的端口?

我有一个reactphp脚本打开多个端口进行监听。代码归结为尝试在端口x上打开一个套接字,如果被占用,则选择端口+1。我发现我可以为同一个端口打开多个套接字而不会出现错误消息,这使得上述查找“空闲”端口的方法无效:var_dump($s1=stream_socket_server("tcp://127.0.0.1:7777",$errno,$errstr));var_dump($s2=stream_socket_server("tcp://127.0.0.1:7777",$errno,$errstr));两个调用都返回一个具有不同ID的资源。为什么会发生这种情况,端口是否可能已经有来自

windows - NetBIOS 与 Socket API 的关系

来自SuperUserAnswer:AnapplicationthatusestheNetBIOSinterfaceAPIfornetworkcommunicationcanberunonanyprotocolstackthatsupportsaNetBIOSinterface.我们可以说NetBIOS类似于套接字API吗?还有SMB和NetBIOS是什么关系?如果NetBIOS类似于socketAPI,是否可以在socketAPI中实现SMB?如有错误请指正 最佳答案 CanwesaythatNetBIOSissimilartos

java - 在 Windows 上线程直到 Thread.join() 才停止

方法stopServer()服务器在Mac、Linux和UNIX计算机上运行完美,但当我尝试在Windows上关闭时,我发现它至少需要一秒钟每个用于由于ServerSocket超时而关闭的套接字。我希望它们像在Linux、Mac等中那样一次关闭所有,而不是在我调用Thread.join()时一次关闭一个。服务器代码publicclassFileServer{privateArrayListsockets=newArrayList();privateServerSocketfileServer;publicvoidstartServer(intport,intmaxThreads,int

java - 为什么 Windows Java 无法绑定(bind)到已经绑定(bind)的端口?

我们在响应请求的时候有绑定(bind)到同一个本地端口的需求。以下是Java代码示例。在Linux上我们可以绑定(bind)到同一个端口两次,但在Windows上,我们在第二次绑定(bind)时出错。错误是BindException:地址已在使用中。用C编写的类似程序允许我们绑定(bind)两次。是什么阻止了Windows上的Java执行此操作?是否有允许绑定(bind)的注册表设置?importjava.net.InetSocketAddress;importjava.net.Socket;importjava.net.SocketAddress;publicclassSocketT

Python:在 Windows 上获取 UDP 广播/socket.recvcmsg() 的发送者

我使用socket.recvmsg()获取UDP广播消息的数据和发件人的IP地址。这在Linux上工作正常,但此方法在Windows(Python3.3)上不可用。如何获取发件人的IP地址?fromsocketimport*fd=socket(AF_INET,SOCK_DGRAM)fd.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)fd.setsockopt(SOL_SOCKET,SO_BROADCAST,1)data,_,_,addr=fd.recvmsg(4096)# 最佳答案 我在您链接的Pytho

c++ - UDP 中的 recvfrom 没有得到任何东西

我正在尝试通过UDP套接字接收数据,但我找不到接收任何数据的方法。我可以用wireshark看到数据实际上正在进入计算机,但是recvfrom总是超时。涉及的代码非常简单:mUDPSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);if(mUDPSocket==INVALID_SOCKET)return1;uint32_taTimeout=5000;constintlResult=setsockopt(mUDPSocket,SOL_SOCKET,SO_RCVTIMEO,(char*)&aTimeout,sizeof(aTimeout));if(S

C++ 套接字 : Enabling Promiscuous Mode in Windows

我正在尝试修改我当前的套接字程序以捕获混杂的数据包。我目前所拥有的是能够正常抓包的。我已经看到关于如何在Linux上执行此操作的其他答案,但我需要找到一种在Windows上完成此操作的方法。这是我的代码:intmain(intargc,charconst*argv[]){SOCKETs;//Theboundsocketstructsockaddr_inserver;intrecv_len;//Sizeofreceiveddatacharudpbuf[BUFLEN];//Abufferfortheincomingdata.floatdata;//Thedatainthepacket//C

c++ - 你如何从远程机器获取IP地址?

我正在编写需要在windows和linux上运行的c++代码,我正在寻找一个函数调用,该函数调用将返回运行该应用程序的盒子的ip地址。有这样的吗? 最佳答案 如果你可以使用boost,看看HowtogetIPaddresssofboost::asio::ip::tcp::socket? 关于c++-你如何从远程机器获取IP地址?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/63

c - 有什么方法可以使用 getaddrinfo() 和 freeaddrinfo() 并且仍然是与旧版 Windows 兼容的程序?

在Winsock2库中,getaddrinfo()和freeaddrinfo()仅在WindowsXP及更高版本中添加。我知道如何在遗留系统中替换它们,但根据Windows版本有条件地使用将无济于事。应用程序不会在9x中启动,并显示一条消息说它链接到WS2_32.dll中丢失的导出。我正在使用MinGW编译和链接代码,并希望继续使用它。也许自己写那些函数?非常感谢你所做的一切。 最佳答案 您可以使用LoadLibrary和GetProcAddress来(尝试)获取getaddrinfo和freeaddrinfo的地址,然后通过指针调