解决端口冲突的方法及计算机可读存储介质技术

技术编号:16761553 阅读:26 留言:0更新日期:2017-12-09 05:26
本发明专利技术公开了一种解决端口冲突的方法及计算机可读存储介质,方法包括:服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接;若连接成功,则客户端通过所述连接发送预设的询问消息至连接对端;客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别;若识别正确,则判定所述连接对应的端口为服务端绑定的端口。本发明专利技术可避免端口冲突,且可避免因端口冲突而造成软件无法正常运行或需退出其他程序才能运行的问题,提高应用程序的稳定性,同时无需用户干预操作,提高用户体验。

Method of solving port conflict and computer readable storage medium

The invention discloses a method and a computer readable storage medium to solve the port conflict, methods include: server randomly select an available port binding; connect client and server device port; if the connection is successful, the client through the connection query message is transmitted to the connection end of the preset; the client receives the connection for sending feedback messages, and to identify the feedback message; if the identification is correct, the port for the server binding is judged connected to the corresponding port. The invention can avoid port conflict, and avoid the problem that the software can not run normally or need to quit other programs because of the port conflict, so as to improve the stability of the application program, and do not need user intervention operation to improve user experience.

【技术实现步骤摘要】
解决端口冲突的方法及计算机可读存储介质
本专利技术涉及通信
,尤其涉及一种解决端口冲突的方法及计算机可读存储介质。
技术介绍
基于TCP/IP协议网络传输由服务端和客户端组成,不管是使用UDP还是使用TCP协议进行传输,服务端都需要先绑定端口进行监听,客户端再跟服务端绑定的端口进行通信。目前,服务端绑定的端口是与客户端预先约好的固定的端口,不可改变。端口是操作系统共享资源,运行在操作系统之上的程序需要网络通信时都可以选择一个可用端口进行绑定,但如果指定端口,如5231被程序A绑定独占使用,那么程序B如果也想绑定在端口5231,就会引发端口冲突,导致绑定失败。目前,解决端口冲突的惯用方法是:程序进行网络通信绑定端口时发现端口被占用,就显示界面告知用户,引导用户退出相应程序释放端口。但该方法需要用户干预解决,用户体验不够友好,且用户可能不希望退出占用端口的程序。
技术实现思路
本专利技术所要解决的技术问题是:提供一种解决端口冲突的方法及计算机可读存储介质,可避免端口冲突,提高用户体验。为了解决上述技术问题,本专利技术采用的技术方案为:一种解决端口冲突的方法,包括:服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接;若连接成功,则客户端通过所述连接发送预设的询问消息至连接对端;客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别;若识别正确,则判定所述连接对应的端口为服务端绑定的端口。本专利技术还涉及一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接;若连接成功,则客户端通过所述连接发送预设的询问消息至连接对端;客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别;若识别正确,则判定所述连接对应的端口为服务端绑定的端口。本专利技术的有益效果在于:服务端先选择一个可用端口进行绑定,避免绑定到已被占用的端口;客户端通过尝试建立连接,发送消息,检测接收到的消息是否正确来寻找服务端,使得客户端无需与服务端预先约定好固定的通信端口,从而避免端口冲突的问题;本专利技术可避免端口冲突,且可避免因端口冲突而造成软件无法正常运行或需退出其他程序才能运行的问题,提高应用程序的稳定性,同时无需用户干预操作,提高用户体验。附图说明图1为本专利技术一种解决端口冲突的方法的流程图;图2为本专利技术实施例一的方法流程图。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图详予说明。本专利技术最关键的构思在于:服务端先选择一个可用端口进行绑定,客户端通过遍历端口建立连接、识别连接对端返回的反馈消息来匹配服务端绑定的端口。请参阅图1,一种解决端口冲突的方法,包括:服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接;若连接成功,则客户端通过所述连接发送预设的询问消息至连接对端;客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别;若识别正确,则判定所述连接对应的端口为服务端绑定的端口。从上述描述可知,本专利技术的有益效果在于:可避免端口冲突,且可避免因端口冲突而造成软件无法正常运行或需退出其他程序才能运行的问题,提高应用程序的稳定性。进一步地,所述“客户端通过所述连接发送预设的询问消息至连接对端”之后,进一步包括:连接对端识别所述询问消息;若识别失败,则连接对端丢弃所述询问消息或发送反馈消息至客户端;若识别成功,则连接对端发送预设的反馈消息至客户端。由上述描述可知,询问消息可以被正确服务端识别,无法被错误服务端识别,且只有正确服务端才能发送正确的反馈消息,错误服务端无法发送。进一步地,所述“客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别”具体为:若客户端在预设的时间内未接收到连接对端发送的反馈消息,则客户端与下一端口建立连接;若客户端在预设的时间内接收到连接对端发送的反馈消息,则对所述反馈消息进行识别。由上述描述可知,当连接对端丢弃询问消息而没有发送反馈消息时,客户端等待超时后即判定连接对端不是对应的服务端,尝试连接下一个端口。进一步地,所述“客户端与服务器所在设备的端口建立连接”具体为:客户端遍历服务端所在设备的端口;客户端与一端口建立连接;若连接失败,则客户端与下一端口建立连接。由上述描述可知,通过遍历端口,依次与端口建立连接,从而匹配到服务端绑定的端口。进一步地,所述“服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接”具体为:服务端从预设的端口范围中随机选择一个可用端口进行绑定;客户端与服务器所在设备的预设的端口范围中的端口建立连接。由上述描述可知,可大大减少尝试连接次数,提高端口匹配效率。进一步地,所述“客户端与服务器所在设备的端口建立连接”具体为:若客户端与服务端部署在同一台设备上,则客户端获取操作系统已使用的端口;客户端与所述已使用的端口建立连接。由上述描述可知,可进一步减少尝试连接次数,进一步提高端口匹配效率。本专利技术还提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接;若连接成功,则客户端通过所述连接发送预设的询问消息至连接对端;客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别;若识别正确,则判定所述连接对应的端口为服务端绑定的端口。进一步地,所述“客户端通过所述连接发送预设的询问消息至连接对端”之后,进一步包括:连接对端识别所述询问消息;若识别失败,则连接对端丢弃所述询问消息或发送反馈消息至客户端;若识别成功,则连接对端发送预设的反馈消息至客户端。进一步地,所述“客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别”具体为:若客户端在预设的时间内未接收到连接对端发送的反馈消息,则客户端与下一端口建立连接;若客户端在预设的时间内接收到连接对端发送的反馈消息,则对所述反馈消息进行识别。进一步地,所述“客户端与服务器所在设备的端口建立连接”具体为:客户端遍历服务端所在设备的端口;客户端与一端口建立连接;若连接失败,则客户端与下一端口建立连接。进一步地,所述“服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接”具体为:服务端从预设的端口范围中随机选择一个可用端口进行绑定;客户端与服务器所在设备的预设的端口范围中的端口建立连接。进一步地,所述“客户端与服务器所在设备的端口建立连接”具体为:若客户端与服务端部署在同一台设备上,则客户端获取操作系统已使用的端口;客户端与所述已使用的端口建立连接。实施例一请参照图2,本专利技术的实施例一为:一种解决端口冲突的方法,所述方法基于TCP/IP协议网络传输,包括如下步骤:S1:服务端随机选择一个可用端口进行绑定;S2:客户端遍历服务端所在设备的端口,即遍历服务端所在机器上的端口1025至端口65535;S3:客户端与一端口建立连接;S4:判断是否连接成功,进一步地,通过判断所述一端口是否被绑定来判断是否连接成功,若所述一端口未被绑定,则判定连接失败,客户端与下一端口建立连接,即返回执行步骤S3,若所述一端口已被绑定,则判定连接成功,执行步骤S5。S5:本文档来自技高网
...
解决端口冲突的方法及计算机可读存储介质

【技术保护点】
一种解决端口冲突的方法,其特征在于,包括:服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接;若连接成功,则客户端通过所述连接发送预设的询问消息至连接对端;客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别;若识别正确,则判定所述连接对应的端口为服务端绑定的端口。

【技术特征摘要】
1.一种解决端口冲突的方法,其特征在于,包括:服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接;若连接成功,则客户端通过所述连接发送预设的询问消息至连接对端;客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别;若识别正确,则判定所述连接对应的端口为服务端绑定的端口。2.根据权利要求1所述的解决端口冲突的方法,其特征在于,所述“客户端通过所述连接发送预设的询问消息至连接对端”之后,进一步包括:连接对端识别所述询问消息;若识别失败,则连接对端丢弃所述询问消息或发送反馈消息至客户端;若识别成功,则连接对端发送预设的反馈消息至客户端。3.根据权利要求2所述的解决端口冲突的方法,其特征在于,所述“客户端接收连接对端发送的反馈消息,并对所述反馈消息进行识别”具体为:若客户端在预设的时间内未接收到连接对端发送的反馈消息,则客户端与下一端口建立连接;若客户端在预设的时间内接收到连接对端发送的反馈消息,则对所述反馈消息进行识别。4.根据权利要求1所述的解决端口冲突的方法,其特征在于,所述“客户端与服务器所在设备的端口建立连接”具体为:客户端遍历服务端所在设备的端口;客户端与一端口建立连接;若连接失败,则客户端与下一端口建立连接。5.根据权利要求1所述的解决端口冲突的方法,其特征在于,所述“服务端随机选择一个可用端口进行绑定;客户端与服务器所在设备的端口建立连接”具体为:服务端从预设的端口范围中随机选择一个可用端口进行绑定;客户端与服务器所在设备的预设的端口范围中的端口建立连接。6.根...

【专利技术属性】
技术研发人员:刘德建叶金龙郭玉湖
申请(专利权)人:福建天泉教育科技有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1