socket UDP接收数据问题!

问题描述

有个问题请教大家一下,socketUDP不是无连接的吗,为什么写了一个demo,客户端向服务器发送数据,收到后又发送答复数据回客户端,但有一点很奇怪,我写的服务器发送后,手动点击客户端上面的接收,也就说接收在服务器发送之后,为什么还是可以收到?这种不应该就是丢包么?应该是先循环接收,然后阻塞到接收方法,服务器发送过来才可以收到吧,而我是先发送,然后在手动点击进入接收方法,还是可以收到,奇了怪了

解决方案

解决方案二:
socket有接收缓存,你客户端的UDP不是已经开始服务了吗?
解决方案三:
引用1楼johnliuyuan的回复:

socket有接收缓存,你客户端的UDP不是已经开始服务了吗?

有缓存?客户端只new了socket对象,但还没有执行接收方法Receivefrom(),相当于我的意思是,用服务器向客户端发送一个指令,然后我手动去点击客户端上面的接收(触发Receivefrom()方法)

时间: 2024-09-16 11:07:01

socket UDP接收数据问题!的相关文章

C# socket networkstream 接收数据

问题描述 C# socket networkstream 接收数据 最近在做c/s,客户端用C#的Socket进行通信.接收数据开单独的接收线程使用networkstream进行接收接收的方法大体上跟网上流传的一样do{ int readSize = mNetworkstream.Read(bytes 0 1024); if (readSize > 0) { //do sth }}while(mNetworkstream.DataAvailable) 这样接收局内网或者单机没问题,但是放到外网测

网络编程-Linux socket udp发送数据返回socket错误22

问题描述 Linux socket udp发送数据返回socket错误22 linux下用c网络编程用sendto发送数据,总返回socket error代号22是什么错误呢? 解决方案 http://blog.csdn.net/dog250/article/details/9569855

java nio socket 异步接收数据

问题描述 nio socket 异步接收数据,如何确定收接的数据,就是发送的返回的?有谁研究过没. 问题补充:如果不用id,nio客户端是否可以同步接收数据呢?是把socketChannel.configureBlocking(true)吗? 解决方案 在消息中增加UUID,在调用端记录UUID,并将UUID和消息一起发送到服务端,服务端的回传消息附件上UUID,调用端根据收到的消息包含的UUID确定给哪个调用者.解决方案二:异步调用的常见问题.因为没有办法实施返回,只有打标志了.要你把通信协议

UDP 接收数据同步 异步选择问题

问题描述 同步加线程使用事件并发处理接收到的数据publicvoidSyncRecive(){Tasklisten=newTask(()=>{while(true){intlength=connect.ReceiveFrom(this.packetBuffer,0,this.packetBuffer.Length,SocketFlags.None,refthis.remoteEndPoint);byte[]packet=this.packetBuffer.Unpack(length);if(le

Socket服务器端接收数据怎么只接收第一次,后面就不接收了

问题描述 各位大神,现在我做的一个winform控制系统,从测试客户端发送数据到服务器端,为什么只是第一次能够接收到数据后面就没反应了,这个问题苦恼了我很久,请帮我看一下,服务器端界面设计和代码如下所示,测试客户端是一个测试工具.usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSyste

Socket发送接收数据实例

网上经常有关于Socket的问题~教程~可是都非常官方,其实代码我们都知道(F1帮助文档里就有),只是由于没有可测试用的Socket服务器..一直不能做测试跟进一步的研究.闪吧新社区+MT:G,{,P+?B7z 今天打开已经很久没用的<易语言>,了一个简单的socket服务器..其实我不知道算不算是socket服务器,只是监听端口,接收来自客户端的数据,发送数据到客户端等等.不过在flash的socket例程下连接并发送接收成功,所以应该也算是吧..(ps:易语言,一个中文的编程软件,别笑我,

Java Socket通信(一)之客户端程序 发送和接收数据_java

网络应用分为客户端和服务端两部分,而Socket类是负责处理客户端通信的Java类.通过这个类可以连接到指定IP或域名的服务器上,并且可以和服务器互相发送和接受数据. 对于Socket通信简述,服务端往Socket的输出流里面写东西,客户端就可以通过Socket的输入流读取对应的内容.Socket与Socket之间是双向连通的,所以客户端也可以往对应的Socket输出流里面写东西,然后服务端对应的Socket的输入流就可以读出对应的内容. 例1:客户端的简略写法(一). Socket clien

第二人生的源码分析(三十一)接收数据的流量控制

数据接收回来后,本来就应立即处理掉,这样是比较简单的想法.但由于网络带宽有限,这时就需要限制UDP接收数据的速度.下面就来分析这种需求的实现,它的代码如下: #001 S32 LLPacketRing::receivePacket (S32 socket, char *datap) #002 { #003      S32 packet_size = 0; #004    下面判断是否使用接收的流量限制. #005      // If using the throttle, simulate

achartengine-这个程序为什么接收不了数据,无法显示?Achartengine与socket udp

问题描述 这个程序为什么接收不了数据,无法显示?Achartengine与socket udp package com.example.mycharttest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Data