采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师您好:局域网中,不知道服务器的IP地址,仅仅知道公共的UPD端口,这里需要用到UDP进行广播,收到服务器的回送信息,确定服务器的IP地址 然后建立TCP的连接。为什么会出现这样的场景?还请老师指点一二,谢谢。
这样的场景很常见啊,可能你们没有经历过,在10年前一般“微机室”里的每台PC都有一个局域网聊天的软件,每个人都可以上去聊天,其实就是使用的UDP的手段来做的局域网聊天软件。
如果把这个扩大一些,现在的“资源发现”等各自手段其实都是从这个上面衍生而来的,只是加上了诸多限制而已。
再有手机链接路由器的过程其实也是类似的过程。
还是不明白,能举个具体的例子么,老师
就拿上面说的局域网聊天来说,微机室里的所有PC都在同一个局域网下,但聊天软件的服务器并不是固定的,也就是ip是变化的,并不是固定的ip地址,但是聊天服务器具有接收UDP的能力,并能回送消息。 这样当局域网的PC想要进行聊天时,就可以先进行服务器链接,但预先并不知道服务器地址,所以就需要先使用UDP进行一次广播,广播后得到回送消息自然就得到了服务器地址,然后再使用TCP去链接服务器,初始化对应的服务,就可以聊天了。 这是一个例子。 比如你现在访问慕课网的过程其实也是类似的过程,只不过UDP的目标不是局域网,而是特定的域名解析器。 当你访问慕课网的时候,你给特定的域名解析服务器发送UDP信息,询问imooc这边域名对应的ip地址,域名解析服务器则回送给你这个域名对应的ip,然后你再使用tcp去链接慕课网的服务器,之后才能让慕课网的服务器给你返回网页。
登录后可查看更多问答,登录/注册
理论+实践,系统且深入掌握Socket核心技术,从容应对各种Socket应用场景的不二之选
2.7k 1
1.8k 7
1.6k 5
1.9k 13
1.0k 13