草庐IT

early-binding

全部标签

delphi - 在 TCP 连接中使用 Bind 方法的最佳方式是什么?

我有两个应用程序在同一台机器上运行,一个充当TCP服务器,另一个充当TCP客户端。在那台机器上,我有2个网络接口(interface),所以必须告诉应该使用哪个TCP连接。为此,我一直在使用Bind方法,因为我知道一个是192.168.1.x,另一个是10.1.135.x,但我的疑问是:当我设置机器IP本身时,例如192.168.1.195这不起作用,但是如果我设置网关IP192.168.1.1就可以了。不起作用的代码是tmpTcp:=TTCPBlockSocket.Create;tmpTcp.Bind('192.168.1.195','50000');tmpTcp.Connect('

c# - 为什么我的 python TCP 服务器需要绑定(bind)到 0.0.0.0 而不是本地主机或其 IP 地址?

我正在制作一个PythonTCP服务器和一个C#客户端,我让它工作了,但我不明白为什么它在工作,我希望有人能向我解释什么我迷路了。我正在尝试从我自己的网络内进行连接,因此不涉及防火墙。在我的python脚本中,如果我绑定(bind)到127.0.0.1或localhost我无法从我的C#脚本连接到它,所以我想也许它需要是DHCP服务器给它的本地IP地址,所以我尝试绑定(bind)到192.168.1.74(本地IP地址)。这仍然不起作用,但是如果我使用0.0.0.0作为我绑定(bind)的端口,我可以毫无问题地连接。Python服务器代码:defstartserver():global

c++ - 在 C 中使用 bind() 时获取错误的 IP 地址

我在C中使用套接字编程API。在TCP客户端程序中,我使用bind(),然后使用getsockname()(在调用connect())获取本地机器的IP地址和端口号。但是,我只能得到正确的端口号,而得到错误的IP地址(一个零)。所以我问是否有任何方法可以正确获取本地机器的正确IP地址(在调用connect()之前)? 最佳答案 没有一种简单或便携的方法可以完成您想要做的事情。bind()和getsockname()在您的案例中的行为是正确的。您的程序不应以任何方式依赖或要求主机的IP地址。如果是,则您的程序中可能存在一些设计问题。问

linux - Haproxy 绑定(bind)错误

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎不是关于aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers的.如果您认为这个问题是关于anotherStackExchangesite的主题,您可以发表评论,说明问题可能在哪里得到解答。关闭1年前。Improvethisquestion你好StackOverflow,我的haproxy似乎有错误,这是我尝试运行它时得到的结果[ALERT]208/051346(586

WCF 未绑定(bind)到正确的 IP 地址

我们在Windows2003服务器上部署了一个WCF服务,该服务出现了一些问题。配置使用wsHttpBinding并且我们正在指定IP地址。这些服务由Windows服务托管。当我们启动服务时,大多数时候它会获取错误的IP地址。有几次它绑定(bind)到正确的地址只是为了丢弃该绑定(bind)并在处理一段时间后转到绑定(bind)到NIC的另一个地址(有2个)。它目前正在使用端口80(我们已将IIS配置为通过httpcfg仅绑定(bind)到1个地址),尽管我们已尝试使用不同的端口并获得相同的结果。当Windows服务开始承载WCF服务时,属性显示它被绑定(bind)到正确的地址;然而,

c++ - boost asio TCP 服务器必须绑定(bind)到 IP 地址?

我不确定自己是否正确使用了BOOSTASIO,我的代码如下,boost::asio::ip::tcp::resolverresolver(io_);boost::asio::ip::tcp::resolver::queryquery(std::string("127.0.0.1"),port);boost::asio::ip::tcp::endpointendpoint=*resolver.resolve(query);acceptor_.open(endpoint.protocol());它绑定(bind)到127.0.0.1。当客户端从外部连接时,客户端使用IP地址192.168.

c++ - 套接字绑定(bind)不会返回 int

我的代码片段如下所示:intdescriptor=socket(AF_INET,SOCK_STREAM,0);if(descriptor每当我尝试编译它时,我都会收到以下错误:error:invalidoperandstobinaryexpression('__bind'and'int')if(bind(descriptor,(structsockaddr*)&address,size)有人知道这是什么意思吗?bind()应该返回一个整数左右我想。我的导入看起来像这样:#include#include#include#include#include#include#include#in

c++ - 将端口号绑定(bind)到 TCP 套接字(出站)以发送数据包

我知道绑定(bind)一个端口号到TCPsocket是不容易的发送数据(因为系统通常将随机端口绑定(bind)到套接字)。但我在一篇文章中读到,通过使用一些低级网络方法,您可以将端口号绑定(bind)到TCP套接字,然后使用它发送数据?有没有人知道如何做到这一点?我正在使用c编程语言 最佳答案 连接前先绑定(bind)s=socket(AF_INET,SOCK_STREAM,0);/*...*/memset(&client_addr,0,sizeof(client_addr));client_addr.sin_family=AF_I

macos - 绑定(bind)到 iPhone 模拟器中的特权端口

我有一个用例,我需要在监听端口80的iOS上运行一个简单的HTTP服务器。在运行良好的设备上,但在模拟器上,我收到一个绑定(bind)错误,指出端口80具有特权。这并不重要,但会使测试比需要的更复杂。在Linux上,似乎可以通过“setcap'cap_net_bind_service=+ep'/path/to/program”为各个应用程序提供对特权端口的访问权限。这在OSX上如何工作,以便iPhone模拟器可以绑定(bind)到特权端口? 最佳答案 这不是答案,但您可以将流量从其他端口重定向(例如,如果您能够在端口20080上启动

java - Java ServerSocket accept client后如何获取绑定(bind)到同一本地端口的新套接字?

我对Socket和ServerSocket端口的用法感到困惑。Oracle'sjavatutorialaboutsockets说以下内容:WhatIsaSocket?Normally,aserverrunsonaspecificcomputerandhasasocketthatisboundtoaspecificportnumber.Theserverjustwaits,listeningtothesocketforaclienttomakeaconnectionrequest.Ontheclient-side:Theclientknowsthehostnameofthemachine