奉送500分!急等解决!我在使用System.Net.Sockets类中TcpClient.GetStream时,发现Write语句后,必须关闭流,接收端Readbyte才能正常接收

Tiger0305 2004-01-05 10:07:20
在使用System.Net.Sockets类时,我希望传输大数据流(超过8192字节),并且在发送后并不断开流,而继续接收对方的反馈信息.

我应该如何做呢?

最好有例程,我的邮箱Tiger0305@vip.163.com
...全文
51 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ganenpingsohucom 2004-01-05
  • 打赏
  • 举报
回复
调用 Write 方法将数据发送到远程主机。应调用 Read 方法来接收从远程主机传来的数据。这两种方法都将阻塞,直到执行了指定的操作为止。通过检查 DataAvailable 属性可避免对读取操作的阻塞。true 值表示数据已从远程主机到达,可以进行读取。这样便保证立即完成 Read

注意 在完成数据的发送和接收之后,您无须关闭 NetworkStream。关闭 TcpClient 会将 NetworkStream 释放给垃圾回收器。

Dim tcpClient As New TcpClient()
' Uses the GetStream public method to return the NetworkStream.
Try
Dim networkStream As NetworkStream = tcpClient.GetStream()
If networkStream.CanWrite Then
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there?")
networkStream.Write(sendBytes, 0, sendBytes.Length)
Else
Console.WriteLine("You cannot write data to this stream.")
tcpClient.Close()
Return
End If
If networkStream.CanRead Then

' Reads the NetworkStream into a byte buffer.
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
' Read can return anything from 0 to numBytesToRead.
' This method blocks until at least one byte is read.
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))

' Returns the data received from the host to the console.
Dim returndata As String = Encoding.ASCII.GetString(bytes)
Console.WriteLine(("This is what the host returned to you: " + returndata))
Else
Console.WriteLine("You cannot read data from this stream.")
tcpClient.Close()
Return
End If
Catch e As Exception
Console.WriteLine(e.ToString())
End Try
Tiger0305 2004-01-05
  • 打赏
  • 举报
回复
我的5个分帖,每个100分
http://expert.csdn.net/Expert/topic/2633/2633395.xml?temp=.9001581
http://expert.csdn.net/Expert/topic/2633/2633393.xml?temp=7.276553E-02
http://expert.csdn.net/Expert/topic/2633/2633389.xml?temp=.7606317
http://expert.csdn.net/Expert/topic/2633/2633423.xml?temp=.2109491
http://expert.csdn.net/Expert/topic/2633/2633428.xml?temp=.8792993
斗斗来三 2004-01-05
  • 打赏
  • 举报
回复
MARK一下,这几天在学,等等做了再告诉你
内容概要:本文围绕“神经网络BP-PID优化PMSM转速环永磁同步电机矢量控制”展开研究,提出了一种基于BP神经网络自整定PID控制器的永磁同步电机(PMSM)矢量控制系统,并通过Simulink平台构建了完整的仿真模型。该方法利用BP神经网络对传统PID控制器的比例、积、微参数进行在线自适应调整,有效提升了系统在动态工况下的响应速度与鲁棒性,解决了常规PID控制难以应对非线性、强耦合及外部扰动的问题。研究重点聚焦于转速环的优化控制,结合矢量控制策略(FOC),实现了对电机转速与转矩的高精度调节。文中详细阐述了系统结构设计、控制算法原理、神经网络训练机制以及各模块的仿真建模过程,通过对比传统PID与BP-PID控制的仿真结果,验证了所提方法在超调抑制、响应间和抗干扰能力方面的优越性能。; 适合人群:具备自动控制理论、电机驱动控制基础知识及Simulink仿真经验的电气工程、自动化、电力电子等相关专业的研究生、科研人员及从事高性能电机控制研发的工程师。; 使用场景及目标:①应用于高精度伺服系统、电动汽车、工业自动化等对电机动态性能要求较高的场合;②为研究人员提供一种结合智能算法优化经典控制策略的技术路线,推动先进控制方法在实际工程中的落地应用;③帮助学习者掌握BP神经网络与PID控制融合的设计思路及Simulink建模仿真技能。; 阅读建议:建议读者结合Simulink仿真模型逐步理解控制框图与算法实现细节,重点关注BP网络的输入输出设计、权值更新规则及其与PID参数映射关系,建议动手复现并调试仿真结果,以深化对智能优化控制机制的理解。

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧