做聊天功能,单纯使用UDP协议成功率低怎么办?

问题描述

情况是这样的,现在写了一个类似于聊天程序。用纯UDP协议处理,成功率太低,(前期想做UDP穿透,让两端直接通讯。但是因为两端都可能会用GPRS网络所以放弃了,此路不通)服务器:公网IP(Linux系统,写了一个转发、数据库存储的程序)。客户端:Android客户端,三个线程一个接受、一个发送、一个心跳原本做法:客户端发送一次UDP消息,超过5秒对方无回应则提示超时。成功率很低。。。(50%左右超时)现在改善一点:客户端发送三次(每三秒),如12秒后没收到回应则认为超时成功率略有提高但是还是低(30%左右的超时),请问各位大侠有没有什么好的方案,?据说QQ用的是TCP+UDP?各位大神没有相关思路?

解决方案

时间: 2024-09-18 04:59:17

做聊天功能,单纯使用UDP协议成功率低怎么办?的相关文章

用socket编写一个聊天软件,使用udp协议

问题描述 用socket编写一个聊天软件,使用udp协议 用socket编写一个聊天软件,使用udp协议,在visual studio 2010开发环境下怎么实现呢? 解决方案 参考:http://blog.csdn.net/andrew_wx/article/details/6671137 解决方案二: 利用TCP和UDP协议,实现基于Socket的小聊天程序(初级版) 解决方案三: http://www.pudn.com/downloads529/sourcecode/windows/net

后台运行-我想知道怎么用MQTT做聊天功能,有没有开源的框架

问题描述 我想知道怎么用MQTT做聊天功能,有没有开源的框架 自己写聊天需要注意哪些问题呢,高并发怎么处理,怎么保证消息发送到,已送达,已读 解决方案 https://segmentfault.com/q/1010000002595084/a-1020000002596294

UDP协议下数据的传输分析

最近在做项目的时候发现了一个严重问题,可能不光是我多人在使用 win32 socket 进行开发的时候也会遇到的问题.首先我分析的模块是 我项目中文件传输的部分,我做的是一个基于UDP协议的一个局域网通信软件,里面有一个文件传输的模块 ,起初的时候我也完成了文件传输的功能,以为这就可以了,其实我在做的时候忽略了很多细节部分,比如数据应该如何传输 ,一次最多发送多少数据 以及如何控制同步问题 .这些问题我都没有详细去追究,直到最近我去某公司面试的时候,那位很牛逼的大哥跟我说了一句,"你知道wind

计算机网络课设之基于UDP协议的简易聊天机器人

前言:2017年6月份计算机网络的课设任务,在同学的帮助和自学下基本搞懂了,基于UDP协议的基本聊天的实现方法.实现起来很简单,原理也很简单,主要是由于老师必须要求使用C语言来写,所以特别麻烦,而且C语言的socket编程我基本没有接触过,顶多对java网络编程有一点涉猎.下面我将自己所学的知识做了一个总结,希望可以对想要去接触socket(网络)编程的同学有一个帮助,当然想要学好网络编程肯定是离不开几本书的支撑的,这篇文章主要通过一个机器人聊天的案例帮大家入下门. 注意:想要成功运行的前提条件

Java基于UDP协议实现简单的聊天室程序_java

最近比较闲,一直在抽空回顾一些Java方面的技术应用. 今天没什么事做,基于UDP协议,写了一个非常简单的聊天室程序. 现在的工作,很少用到socket,也算是对Java网络编程方面的一个简单回忆.  先看一下效果:   实现的效果可以说是非常非常简单,但还是可以简单的看到一个实现原理.  "聊天室001"的用户,小红和小绿相互聊了两句,"聊天室002"的小黑无人理会,在一旁寂寞着.  看一下代码实现:  1.首先是消息服务器的实现,功能很简单:•将客户端的信息(进

用C#开发UDP协议聊天程序

本节将通过一个实例来讲解,如何利用UDP协议开发多点聊天室程序.首先应在不同的计算机中运行聊天室服务程序,然后打开相应的客户发送端窗体,在客户发送端窗体的文本框中输入与之聊天的计算机IP,然后在"发送聊天信息"文本框中输入聊天信息,单击[发送]即可以将信息发送到目标计算机中. 服务器端实现的具体步骤如下: (1)在VS2005工程中添加一个窗体. (2)首先在代码设计器窗口中引入using System.Net.Sockets和using System.Net命名空间. (3)程序主要

udp-ios UDP 穿越 通信 这块,求教,实现两个外网手机客户端的聊天功能,,求大神解决下

问题描述 ios UDP 穿越 通信 这块,求教,实现两个外网手机客户端的聊天功能,,求大神解决下 ios UDP 穿越 通信 这块,求教,实现两个外网手机客户端的聊天功能,外网服务器已有,求大神解决下实现过程,求列子

用jsp做用户聊天功能

问题描述 我想用jsp做一个简单的聊天功能,并实现基本的用户聊天但是不能用数据库记录聊天信息,最主要的就是如何在刷新界面的时候让不同的用户记录下他自己所说的话?先谢谢各位! 解决方案 解决方案二:用socket解决方案三:好像我还没学过!不过谢了!解决方案四:可以不用数据库提交时,提交到本页面内容为str=str+"以前的话";还要定时刷新<%response.setHeader("Refresh","3");%>解决方案五:我最近做

100分求一个C++编写的简单UDP协议的SOCKET程序和源代码,基本功能就是能不断的发数字“21”

问题描述 具体要求,写一个服务器端的发送数据程序(UDP协议的SOCKET),要求能不断的广发21这个数字,要求能让我的客户端(这个SOCKET的客户端我已经有了)连上你的程序所listen的端口来接收这个你发送的数字21,要求程序尽量简单源代码尽量易读易懂.程序和代码都请用C++来写,谢谢了先.. 解决方案 解决方案二:小鸟也不会帮你顶一下解决方案三:tcpudp?解决方案四:#include<stdio.h>#include"winsock2.h"voidmain(){