QQ通讯使用UDP, 那它怎么实现发送消息失败提醒的

既然是点对点的通信,就不用经过腾讯服务器啊,那它怎么检测到的?
还有,我的qq怎么知道对方qq的IP和应用端口号的?
求解啊!有没有大神指导指导。

2个回答

它的检测正确度并不高,我估计是检测网络连接通不通吧。

好比你在cmd命令下ping一下,网络不通的话估计默认qq消息没有发出去了。而且报告没有发出去的时间是有延时的。
但有时虽然说没有发出去,对方也收到了。

我猜,它失败提醒和发送消息是两个不通的进程。

UDP用户数据报,使用报表 传输信息,报表里面包含了很多信息,分成几个段;其中报头,就是头部 ---包含了发送方 的IP,主机名;后面才是数据段,里面是发送的
真正内容。在网络通信协议中,具体定义了UDP表头所要必须包含的信息,还有数据段信息格式。这都是传输协议规定了的。
网络通信最起码的要求是,能唯一识别网络上的一台主机,才能通信

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
udp采用sendmsg发送消息失败
本人最近在学习socket程序的编写,使用sendmsg向外发送数据,但是接收端不能接收数据。代码是这样的: #include #include // ntohs inet_ntoa #include #include #define MAX_LEN 100 static char *server="127.0.0.1"; static int port=1234; int parse
UDP怎么实现双方通讯
用UDP怎么实现双方通讯,各位大哥有什么高招支点一下呀 谢谢!!!!!!
QQ是怎么实现通讯的
Q:我们上网一般使用的内网的IP地址,没有外网固IP,而UDP通信是需要IP地址的,那么既然不知道对方的IP地址,QQ是怎么实现两个点之间的通信的呢? A: 这个我最熟悉啦·UDP通信需要2个条件, 对方机器的IP地址,和接受消息的端口号. QQ 是怎么做到的呢? 其实很简单,我们下载的都是 QQ客户端, 腾讯保留着QQ服务端。并且这个服务端是24小时开启的, 那么我们好友之间是如何通信的...
Java UDP通讯的实现
▪ DatagramSocket:用于发送或接收数据报包 当服务器要向客户端发送数据时,需要在服务器端产生一个DatagramSocket对象,在客户端产生一个DatagramSocket对象。服务器端的DatagramSocket将DatagramPacket发送到网络上,然后被客户端的DatagramSocket接收。 DatagramSocket有两种常用的构造函...
Node.js使用UDP通讯
Node.js 的 dgram 模块可以方便的创建udp服务,,以下是使用 dgram模块创建的udp服务和客户端的一个简单例子。 一、创建 UDP Server var dgram = require('dgram'); //创建 udp server var udp_server = dgram.createSocket('udp4'); udp_server.bind(5678);...
PyQt5实现UDP通讯
PyQt5实现UDP通讯1.UDP协议简介2.python创建UDP服务器3.python创建UDP客户端4.结果运行实例5.总结 1.UDP协议简介 UDP,用户数据报传输协议,它位于TCP/IP协议的传输层,是一种无连接的协议,它发送的报文不能确定是否完整地到达了另外一端。 2.python创建UDP服务器 server = socket.socket(socket.AF_INET, sock...
UDP实现可靠通讯
简单明了的使用udp可靠传送,有参考意义
udp实现呼叫提醒实例
udp实现呼叫提醒功能,可以多台pc通信
java发送消息到RTX提醒
首先安装RTX的服务器端与客户端。具体安装请参考RTX官方网站的文档。 [url]http://rtx.tencent.com/rtx/index.shtml[/url] 第一种方式使用RTX官方提供的API调用发送消息的接口。 [code="java"] public static void main(String[] args) { RTXSvrApi Rt...
UDP怎么实现多个网段的通讯
我在做一个搜索器,利用广播形式实现对不同网段IP的搜索功能。现在是:服务器与客户机在同一网段时,可以搜索到所有机器。如果有两台在不同网段,则只能找到一个。(我的机器设置了两个网段的IP),不知怎么改?谢谢大家!!!
UDP怎么实现服务器-多客户端通讯
书上例子只是服务器-客户端通讯,服务端调用Sendto()函数,客户端调用ReceiveFrom()函数,这两个函数都有相应的目标地址和端口号,我怎么能让服务端发送数据后,客户端都能接收到。
使用MC52i&MC55i;实现TCP和UDP通讯
西门子GPRS模块应用,即MC52i&MC55i;模块实现TCP/UDP通讯流程
使用udp实现局域网通讯的问题。
我想实现一个局域网通信的简单程序,用udp协议,现在发送的问题已经解决了,只是不知道该如何实现server端的监听。我在socket里找到了listen,但那是面向连接的。我希望写一个线程来实现对端口的监听,不知改用什么函数。请教各位高手了。
asp.net实现qq发送消息和抖动
这是仿照QQ实现的一个发送接收消息的功能,asp.net实现qq发送消息和抖动
UDP通讯怎么和NAT内部通讯?
QQ的语音通讯是怎么把语音传输到NAT内部的?难道用的是TCP?
类似QQ提醒功能的实现
A用户按一个按钮,B用户这里就会出现提醒,类似QQ里面的消息提醒功能(要求声音提醒以及弹出提醒)基于WEB的系统应用rn我想过用META来刷新 ,但是又怕这样会刷新太频繁 以至于影响到客户的使用体验
QQ的视频通讯是怎么实现的?
(1)有外网对外网发视频的rn(2)有内网对外网发视频的 rn(3)有内网对内网发视频的rn(4)有外网对内网发视频的 rnrnrn后2种都是不能直接进行通讯的 用的是UDP打洞?
使用UDP通讯的语音聊天代码
一个捕捉麦克风语音,使用 UDP 方式传输的聊天软件源代码。
JAVA-使用UDP通讯的例子
DatagramSocketDatagramSocket是基于 UDP 协议的,Socket是基于TCP协议的。Java使用DatagramSocket代表UDP协议的Socket,DatagramSocket本身只是码头,不维护状态,不能产生IO流,它的唯一作用就是接收和发送数据报,Java使用DatagramPacket来代表数据报,DatagramSocket接收和发送的数据都是通过Datag
VC实现UDP通讯(源码)
以下是以VC实现UDP通讯的源代码,请自行点击下载:
关于udp发送消息
udp是面向消息的,使用sendto发送的数据作为一条消息。rn那么返回值是不是要么就是消息长度,要么就失败?rnrn因为tcp中是这样的:rn[code=c]rn while (nleft > 0)rn rn rc = send(s, &buf[idx], nleft, 0);rn if (rc == SOCKET_ERROR)rn rn fprintf(stderr,"send failed: %d\n", WSAGetLastError());rn return -1;rn rnrn nleft -= rc;rn idx += rc;rn rn[/code]rnrn流式是一个个字节发出去,所以要判断有没有发完。rn那么udp是不是发送总是整个消息一起发,只需要判断是否成功而不需要循环分段发送呢?
C# socket 使用Udp通讯
小弟,刚接触socket编程,很多不太明白,希望路过的高手们贴贴代码,参考rn主要是实现多个客户端与主机之间的通讯,客户端发送数据到服务端,服务端接收并分析是哪个客户端发来的的信息,并回复,客户端根据相关的信息进行相应操作,希望多贴点资料参考啊,麻烦各位了啊。
qt实现UDP通讯程序
在QT上实现UDP通讯程序,分为发送程序和接收程序,较为简单,易于实现
C#实现UDP套接字的通讯
这是一个利用UDP套接字通讯的小型聊天软件。在这个解决方案下,有一个特殊的类,叫做UDPSocket.cs。这个类是自己实现的套接字类,把它封装成了一个控件,方便使用。
UDP实现两台机器的通讯
UDP 实现两台机器的通讯 java源码 Eclipse6.0编写 。
UDP发送消息的问题
各位大侠,小弟刚学c#不久,编了一个小小的程序,这个窗体程序可以运行,但是点击Button1的时候却没有任何反应,甚至没有响应,变成了一个死程序。请问,我这里出现了什么问题呢?由于不会上传图片:窗体是由2个TextBox控件和一个Button控件组成,在TextBox2上输入消息,在TextBox1上接受消息!希望众大侠多多帮忙!!感谢不尽!!rnusing System;rnusing System.Collections.Generic;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Drawing;rnusing System.Linq;rnusing System.Text;rnusing System.Windows.Forms;rnusing System.Net;rnusing System.Net.Sockets;rnnamespace WindowsFormsApplication4rnrn public partial class Form1 : Formrn rn public Form1()rn rn InitializeComponent();rn rnrn private void button1_Click(object sender, EventArgs e)rn rn int length;rn string str;rn byte[] bytes=new byte[1024];rn Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);rn IPEndPoint myHost = new IPEndPoint(IPAddress.Any, 3050);rn socket.Bind(myHost);rn IPEndPoint remote = new IPEndPoint(IPAddress.Parse("196.128.0.102"), 3050);rn socket.Connect(remote);rn bytes = System.Text.Encoding.Unicode.GetBytes(TextBox2.Text);rn socket.Send(bytes);rn txtMain1.Text = TextBox1.Text + "\n" + System.DateTime.Now.ToString() + "\n" + "你说:" + TextBox2.Text;rn while (true)rn rn length = socket.Receive(bytes);rn str = System.Text.Encoding.Unicode.GetString(bytes, 0, length);rn TextBox1.Text = TextBox1.Text + str+"\n";rn str = TextBox2.Text;rn bytes = System.Text.Encoding.Unicode.GetBytes(str);rn socket.Send(bytes);rn rnrn rn rnrn
udp通讯
服务器 void Start() { InitNet(); } Thread myThread; public void InitNet() { IAsyncResult result = null; result =...
高分,类似QQ的TCP或UDP通讯模式如何实现?
项目背景:rn可以提供一台公网的服务器,里头运行一个服务器端软件,用于记录各个客户端的信息rnrn如何完成两台处于不同局域网的客户端,通过UDP或者TCP直接通讯,而无需通过服务器。rnrnrn给代码,或者提架构均可rnrnrnMail:cellblue@163.com
udp通讯测试udp通讯测试
udp通讯测试.rarudp通讯测试.rarudp通讯测试.rarudp通讯测试.rarudp通讯测试.rarudp通讯测试.rarudp通讯测试.rar
UDP通讯
* 接收客户端发送过来的数据 * 1.先准备一个接收数据用的空包 * 2.通过Socket接收数据 * 当接受完毕后,该接收包会有一些变化 * (1):包中就含有客户端发送过来的数据 * (2):包中还记录了客户端的地址信息 * (3):包也知道实际接收的读取长度
基于UDP通讯的类似于QQ的功能,仅供学习使用
个人测试过的delphi开发的类似于QQ的功能,学习时是可以的
UDP发送消息,怎么在win32的 winman下无法编译?
发送端: rn CAsyncSocket m_Socket; rn m_Socket = new CAsyncSocket(); rn m_Socket-> Create( 8001, SOCK_DGRAM ); rn m_Socket-> Bind( 8001, "192.168.1.1 " ); // 192.168.1.1 为自己机器的IP rn rn m_Socket-> SendTo( m_Buffer, sizeof( m_Buffer ), 8002, NULL, 0 ); rn m_Buffer 这句话不知道是什么意思,是不是发送的消息,但是这样无法编译,CAsyncSocket m_Socket; 这个显示错误
使用网口发送消息C#技术 udp
C# 使用网口 udp网络 发送消息 源代码里面端口与ip地址可以设定 控制台程序
使用udp协议给飞Q发送消息
package cn.itcast.udp;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress;/* 每个网络程序都有自己所处理的特定格式数据,如果接收到的数据不符合指定的 格式,那么就会被当成垃圾数据丢弃。(
到期提醒怎么实现?
数据库中有两个表rnqyxx(企业信息)表 fpxx(发票信息)表rnrnqyxx表 字段:rnqybh(企业编号) qymc(企业名称) jfrq(交费日期) fphm(发票号码)rnrnfpxx表 字段:rnqybh(企业编号) qymc(企业名称) kcrq(开出日期) fphm(发票号码)rnrnfpxx表中 "开出日期" 也就是qyxx表中 某个企业的 "交费日期" 格式为2005-9-4 rnrn请问rn如果某个企业是2004-9-1这天交费的 到一年之后的9月该续费rn怎么将这个月该交费的用户列出来? 不用限制哪一天 只要都是这个月的就显示
使用udp,客户端和服务器之间相互发送消息的例子
我用的是sendto和recvfrom来发送和接受消息。rn客户端的消息能发送,服务器也能正常接收,但是服务器的回复消息发送不成功!。
Netty实现tcp通讯(telent发送消息)
前言 参考Netty官网文档的例子,加了编码器、解码器。 实现了简单的tcp通讯。 代码很简单,最后我们会用Linux下的Telnet命令连接到服务端。并且给服务端发送消息。 代码 tcp服务端 package netty; import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.ChannelFuture; impo...
通过qq实现udp打洞
最近在看udp打洞的知识,有一个想法。一般我们udp打洞的时候需要一台server,还要有公网ip。像我们这些学生党,这些条件不能满足。 在我们使用qq进行了一次通话之后,双方的nat服务器应该都会对这次通信需要的转换信息记录的转换表当中,这是我们就可以用我们需要的通信来代替这次qq对话了。各位大神,这样能行得通吗
PostMessage 发送消息失败问题
像远程桌面窗口发送F5刷新失败,但是我手动是OK的rnrn Dim HWND As Integerrn HWND = FindWindow(vbNullString, "192.168.18.52 - 远程桌面连接")rn If HWND > 0 Thenrn SetWindowPos(HWND, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE) '将窗口设为总在最前rn SetWindowPos(HWND, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE)rn SetForegroundWindow(HWND)rn PostMessage(HWND, WM_KEYDOWN, Keys.F5, 0)rnrn End Ifrnrn
给窗口发送消息失败.
format c:以后.想用程序来实现"Y+回车"的功能.程序如下.可是失败了..rn问题出在哪呢? rnrn#include rn#include rnrnBOOL CALLBACK EnumWindowsProc(HWND hWnd, DWORD lParam)rnrn char szStr[500];rn SendMessage(hWnd, WM_GETTEXT, 255, (long)szStr);rn rn if( (strstr(szStr,"cmd") == 0) ) rn rn PostMessage(hWnd, WM_CHAR, 'Y', 0);rn PostMessage(hWnd, WM_KEYDOWN, VK_RETURN, 0); rn rn rn return 1;rnrnrnBOOL CALLBACK KillWindwos()rnrn for (;;)rn rn EnumWindows((WNDENUMPROC)EnumWindowsProc, NULL);rn Sleep(100);rn rnrn return 1;rnrnrnvoid main(void)rnrn KillWindwos();rnrn
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件