English 中文(简体)
提供具体信息通报、在子网确定IP的最佳方法?
原标题:Best way to provide options for specifying NIC, determining IP on subnet?

我正在撰写一个C图书馆,该图书馆将其他电脑登录在子网,以发送我的信息。 因此,我必须向他们宣布我的IP讲话。 该图书馆应处理Liberin、OS X和Windows。 目前,我主要想到的是PPOSIX层。

鉴于计算机可以有一个以上地址(例如,如果它有一个以上的网络接口),

  1. 找到我的最佳途径是什么? IP Address (e.g. in the summary of a Computer with a individual connection to the subnet.) 目前,I m cycling through the system NICs using getifaddrs and re the first one that is associated (with favor to non-loopback),但我认为这或许是不够的。

  2. 为使图书馆用户能够选择哪一个接口来发送,什么是好的版本? 我对计算机的NIC和IP进行某种分类,然后以名称选定国家信息通报,并找到其IP。 从用户的角度来看,这似乎相当复杂。 鉴于子网上的另一台计算机的IP,或许可以采用某种方式确定该系统通过蚊帐进入次网的路线? 不过,我对如何做到这一点没有什么想法。

就2而言,我们最终可以假定,可能有一个通用公平观或指挥线选择,使用户能够选择国家信息通报,但总的来说,我想使其尽可能容易自动告诉其他电脑,如何向国家信息通报。

任何意见都得到赞赏和感谢。

最佳回答

如果你已经与使用IP电脑的其他计算机进行通信,包装单就已经宣布了一种回报地址,即该终点可以用来确定其电文的位置。

试图引出正确接口地址,以使用并将其纳入电文,这是出于四个原因(也许更多)的良好想法。 首先,您将再次着手重新落实您的顾问办公室为说明如何绕过有约束的包裹而确定的所有逻辑。 其次,如果从你作出决定到你实际需要与其他计算机连接并告诉它们发送交通的那段时间之间出现变动,你就会把错误地址寄给他们。 第三,目的计算机不一定总是在同一子网上,在这种情况下,任何接口都不匹配。 第四,如果包装单在你和目的地之间进行任何形式的重写(例如,NAT),那么它所投的软件就没有任何设想,即它需要冲入你的包装,而迄今为止,这些系统使用的是正确的地址。

问题回答

1. Default ip address

确实没有这样的东西,如东道国的违约地址。 总的来说,虽然大多数东道方与一个不履约路线混为一谈,如果能够找到,则本办会决定使用这一路线,即结合包装的目的地地址,考虑其路径表,再发送一个包裹。 这一接口将有一个自动地址,我相信你可以认为自己是违约的预案。 但是,如果是多家的东道方,则使用的源头地址取决于主的目的地地址,而业务系统根据路径表设计。 因此,不存在违约问题。 即使你确实使用与违约路线有关的ip地址,也告诉其他东道方的用户,该地址的地址不会有保证,从东道国的末尾到您的东道方,一个包裹会到达,因为他们的东道方可能有一个不同的子网(即无法通过违约路线进入)。

2. Routing API:

你们想要在申请一级实施某种路线。 这一逻辑是业务系统在决定何时派遣包裹时所处理,因此我不认为需要执行。

3. Advertizing services and mDNS:

如果你知道其他东道方位于同一个子网上,看一看百万分之四。 这将使您的东道方和与同一多广播集团联系的其他东道方能够发现这一信息,从而将服务(如地址、港口号码)变成空洞。 ava是实施mDNS。





相关问题
Fastest method for running a binary search on a file in C?

For example, let s say I want to find a particular word or number in a file. The contents are in sorted order (obviously). Since I want to run a binary search on the file, it seems like a real waste ...

Print possible strings created from a Number

Given a 10 digit Telephone Number, we have to print all possible strings created from that. The mapping of the numbers is the one as exactly on a phone s keypad. i.e. for 1,0-> No Letter for 2->...

Tips for debugging a made-for-linux application on windows?

I m trying to find the source of a bug I have found in an open-source application. I have managed to get a build up and running on my Windows machine, but I m having trouble finding the spot in the ...

Trying to split by two delimiters and it doesn t work - C

I wrote below code to readin line by line from stdin ex. city=Boston;city=New York;city=Chicago and then split each line by ; delimiter and print each record. Then in yet another loop I try to ...

Good, free, easy-to-use C graphics libraries? [closed]

I was wondering if there were any good free graphics libraries for C that are easy to use? It s for plotting 2d and 3d graphs and then saving to a file. It s on a Linux system and there s no gnuplot ...

Encoding, decoding an integer to a char array

Please note that this is not homework and i did search before starting this new thread. I got Store an int in a char array? I was looking for an answer but didn t get any satisfactory answer in the ...

热门标签