请教关于.NET Socket同步发送

问题描述

一个小程序用到了system.net.socketssocket创建连接后,先send,然后receive再send,再receive没有问题现在想改成两个线程来执行任务,一个线程负责send,一个负责receive哪位高手能给个demo呀,谢谢了。

解决方案

解决方案二:
http://www.codeproject.com/search.aspx?q=socket+vb.net&doctypeid=1%3b2%3b3%3b13%3b14&pgsz=10
解决方案三:
DimSAsSocketDimthrRecvAsThreading.ThreadPrivateSubRecv()DoDimb(1023)AsByteS.Receive(b)BeginInvoke(Sub()'UI线程的代码EndSub)LoopEndSubPrivateSubSend(ByValdata()AsByte)S.Send(data)EndSubPrivateSubButton4_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton4.ClickthrRecv=NewThreading.Thread(AddressOfRecv)thrRecv.Start()Send(NewByte(){1,2,3,4})EndSub

解决方案四:
引用楼主spark_li的回复:

一个小程序用到了system.net.socketssocket创建连接后,先send,然后receive再send,再receive没有问题现在想改成两个线程来执行任务,一个线程负责send,一个负责receive哪位高手能给个demo呀,谢谢了。

没有必要修改。
解决方案五:
客户端程序访问服务器,本来就可以是sendreceive.......sendreceive

的顺序处理。你改为“脑裂”的两个线程,有什么必要画蛇添足呢?
解决方案六:
以#2楼的代码为例,他只写了一次send的代码。假设按照你的描述,有2次或者2次以上send操作,那么你send之后就要等待receive之后,才开始下一次send,然后等待第2次receive之后才开始第3次send。那个代码中并没有这个设计!实际上,真要是设计出来了,看明白代码也发现画蛇添足。

时间: 2024-09-28 05:28:41

请教关于.NET Socket同步发送的相关文章

C语言 socket 如何发送带指针的结构体?

问题描述 C语言 socket 如何发送带指针的结构体? 发送一个带指针的结构体,我知道怎么发送? 先把结构体转换成字符串,然后发出.但是接收的时候,怎么接收到结构体中?thanks! 解决方案 发送: struct f;char *ffff[sizeof(f)];memcpy(ffff &f sizeof(f)); 接收: struct f; ffff为收到的数据 memcpy(&f ffff sizeof(ffff)); 解决方案二: C语言---结构体指针C语言--结构体中的指针C语

物理缓冲-请教朋友们一个udp发送接收问题

问题描述 请教朋友们一个udp发送接收问题 如果网口处于断开时发送了一包udp,那么在网口进入连通状态后对端还能不能收到这包udp数据呀?由断到通不经过太久.就是发送方的物理驱动里给不给缓冲这包数据 等链路通时再发出去 解决方案 发送UDP数据报之后接收一个回应向朋友们请教一个关于USB接口编程的问题 解决方案二: 能收到~反正它有目的端口信息,是无连接转发的~

socket-Java中Socket如何发送心跳告诉服务器还活着

问题描述 Java中Socket如何发送心跳告诉服务器还活着 客户端发送的是Object(A类的实例a),如果还要发送心跳,那么心跳用什么发(字符串,对象)? 服务器端怎么分辨是有用的对象还是心跳? 解决方案 心跳检测就是消息测试用的,可以约定某个字符串为心跳检测专用字符串啊. 协商好,再处理请求数据时区分下就可以了. 解决方案二: 这个就是一个空包就可以了的,和服务器端协商好,用什么样的包头,什么样的命令码,固定就可以了

android-ServerSocket服务端如何向多个Socket客户端发送同一个数据?

问题描述 ServerSocket服务端如何向多个Socket客户端发送同一个数据? 利用线程是多个Socket客户端连接到ServerSocket服务端,但是怎么让ServerSocket服务端向所有的客户端发送同一个数据? 解决方案 你可以发送广播信息(udp),或者你通过服务器拿到所有的客户端的IP地址,然后循环发送同一个数据.(我是学java的,不知道对你有帮助没?)

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

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

socket编程发送消息出现socket closed求大神,急

问题描述 socket编程发送消息出现socket closed求大神,急 import java.io.DataInputStream; import java.io.EOFException; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; public class Server { ServerSocket ss; Socket s ; Clients clients; Da

socket通信-socket循环发送请求并读取响应时,循环到第二次之后就读不到响应内容

问题描述 socket循环发送请求并读取响应时,循环到第二次之后就读不到响应内容 问题描述: 业务需求是有一个报文数组,我遍历该数组,每取到一个报文串,便通过socket发送至服务端处理,然后读取服务端响应的报文.但是经过反复测试,每次循环第一次的流程是正常的,但是循环到第二次之后,却读不到响应的报文(内容为空).求各路神仙大虾帮我看看(PS:我看过网上很多的帖子,有的人说socket输入流就像一个一次性的杯子,只能使用一次.但是按这样的话,我岂不是每次发送都需要建立socket连接?这样太消耗

c语言-请教一个关于socket的问题

问题描述 请教一个关于socket的问题 代码中有这样一段 if ((m_UDPSndrSocket = WSASocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP, NULL, 0, WSA_FLAG_OVERLAPPED)) == INVALID_SOCKET) { AfxMessageBox("Failed to create UDPSocket"); return FALSE; } 然后出现了这样的错误 error C2065: 'WSASocket'

服务器-socket客户端发送消息问题

问题描述 socket客户端发送消息问题 现在需求是两个客户端和一个服务端,一个客户端向服务端发送消息,然后服务端再将消息发送给第二个客户端,都是长连接,第一次发送没问题,但是再点发送第二个客户端就收不到消息了,服务器也收不到(下面服务端代码) 解决方案 通过这个来看的话,你的服务端实际上也就是相当于一个网关的效果,用来转发消息的,这种情况下,如果你服务端都没收到消息的话,你可以自己调试看看是否两者之间的连接已经断开 或者说两者之间的数据包解包不正确导致没处理你的流程. 解决方案二: java