为什么UDP服务器端创建Socket和客户端不一样

为什么UDP服务器端创建Socket和客户端不一样

datagramSocket = new DatagramSocket();//客户端
datagramSocket = new DatagramSocket(mPort, mInetAddress);//服务器端

为什么在服务器端创建DatagramSocket实例的时候就要传入port和address,但是客户端就不用呢?顺便问一下,服务器端在创建DatagramSocket实例的时候传入的两个参数是服务器的端口和address还是客户端的呢?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
irista23 2018-03-16 17:59:16

客户端的Socket并不需要其他的客户端去连接,不同于Server端。服务器端创建的DatagramSocket实例,传入的是本地地址和端口号,创建好DatagramSocket实例,才证明服务器已经准备好从任何客户端接收数据报文。

  • 提问者 轻风起自远东QAQ #1
    我在cmd中输入ipconfig出现了很多ipv4的地址,我不知道哪个才是我的地址..而且端口号可以随便输吗?
    2018-03-16 18:04:10
  • irista23 回复 提问者 轻风起自远东QAQ #2
    你用 InetAddress.getLocalHost()方法下个断点看一下里面的值,端口号测试练习你可以自己定义。
    2018-03-16 18:09:32
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Android数据通信开发与应用2018版
  • 参与学习           人
  • 提交作业       147    份
  • 解答问题       687    个

本专题介绍了Android开发核心组件:广播、服务及全局应用。教会你如何使用AIDL、Thread、Socket、蓝牙解决进程线程间通信问题。利用Glide等实现异步加载及NDK原生代码开发。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师