socket通讯端⼝绑定问题解答
一吨柴油有多少升如果想深⼊弄懂它的原理:建议阅读《UNIX⽹络编程》
socket,我们⼀般指的是长连接,但是原来还有短连接,正确的解释是:端口设置
1. 如果是短链接,使⽤同步socket。例如http服务器、转接服务器等等。
2. 如果是长链接,使⽤异步socket。例如通讯系统(QQ / Fetion)、webgame等。
介绍⼀下我的环境搭建:
1.⼀台⼿机,iphone⼿机,⽤来做客户端
2.⼀个模拟器,在Mac电脑端,iphone模拟器,⽤来做服务端
3.⼿机和模拟器都在同⼀个⽹段;
成功运⾏效果:
上海餐饮成功情况第⼀种设计:
1.客户端的IP设置为服务器的IP,端⼝设置的是服务器那边设置的绑定端⼝;
2.服务端IP设置为电脑Mac的真实IP内⽹地址+绑定的端⼝,端⼝由服务器⾃⼰设定;
成功情况第⼆种设计:
关于520的图片1.客户端的IP设置为服务器的IP,端⼝设置的是服务器那边设置的绑定端⼝;
2.服务端IP设置为接收所有的IP(设置的⽅法参考下⾯的代码)+绑定的端⼝,端⼝由服务器⾃⼰设定;
1.问:客户端和服务端什么时候需要绑定端⼝和IP,
2.问:客户端绑定端⼝的作⽤是什么?绑定IP的作⽤是什么?
3.问:服务端绑定端⼝的作⽤是什么?绑定IP的作⽤是什么?
服务器绑定端⼝,是为了在这个端⼝提供服务;这么说的话,就是服务端会有很多不同的端⼝,提供不同的服务,所以必须绑定端⼝;
服务器绑定IP,绑定服务器IP的⽬的是限制了服务端进程创建的socket只接受那些⽬的地为此IP地址
的客户连接;限制了,就是说如果客户端的⽬的IP不是服务器,就⽆法和服务器通信;
如果不想限制,做法是参考下⾯代码:
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
ansys有限元分析1.UDP连接⽤到的连接语法是:
sendto(),是把UDP数据报发给指定地址;struct sockaddr_in类型,指明UDP数据发往哪⾥报。
recvfrom(),是从指定地址接收UDP数据报。struct sockaddr_in类型,指明从哪⾥接收UDP数据报。入团申请书格式
参考⽹友的环境搭建:不同的地⽅在于:
⼀般⽹上说的都是同⼀个应⽤,如果是这样,服务端和客户端IP和端⼝的设置解释应该是:
因为服务器是时时在监听有没有客户端的连接,如果服务器不绑定IP和端⼝的话,客户端上线的时候怎么连到服务器呢,所以服务器要绑定IP和端⼝,⽽客户端就不需要了,客户端上线是主动向服务器发出请求的,因为服务器已经绑定了IP和端⼝,所以客户端上线的就向这个IP和端⼝发出请求,这时因为客户开始发数据了(发上线请求),系统就给客户端分配⼀个随机端⼝,这个端⼝和客户端的IP会随着上线请求⼀起发给
服务器,服务收到上线请求后就可以从中获起发此请求的客户的IP和端⼝,接下来服务器就可以利⽤获起的IP和端⼝给客户端回应消息了。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论