C# network stream

    今天碰到一个问题。运行的时候Server和Client端可以正常通讯,但是调试的时候去在Stream.Read()那里卡死。看Client端的代码,发现有很多的thread.Sleep()操作。于是把Thread.Sheep()中的参数值调大了些,向networkStream中写数据不像过去那么快,结果调试就pass了。百思不得其解,瑞军老大说:“StreamRead是不是同一个?”就这一句话解决了JAME(j2me 自动化测试框架)多个月来的稳定问题。原因在于用同一个NetworkStream New出多个StreamReader。一旦有一个StreamReader实例调用的一次Read()函数。那么它将把当前缓存区中的内容全部都拿到自己的私有缓存区中。用微软的refactor工具看的源码 :) ,那么另外的StreamReader实例就不可能再得到缓存区的内存。其结果就是在Read()处挂死。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据提供的引用[1],OSEK是一个开放式的标准,用于实时操作系统(RTOS)的开发。OSEK/VDX标准定义了一组规则和接口,用于在汽车电子控制单元(ECU)上运行实时应用程序。OSEK/VDX标准包括多个规范,其中之一是网络管理规范(OSEK/VDX Network Management Specification)。 根据提供的引用,C#是一种通用的、面向对象的编程语言,由微软公司开发。C#是一种类型安全的语言,它可以在.NET框架上运行,并且可以用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序和移动应用程序。 因此,如果要在C#中实现OSEK网络管理,需要使用OSEK/VDX网络管理规范中定义的接口和规则,并使用C#编写相应的代码。具体实现步骤如下: 1. 首先,需要了解OSEK/VDX网络管理规范中定义的接口和规则,以便在C#中正确地实现网络管理功能。 2. 然后,需要使用C#编写代码来实现网络管理功能。这可能涉及到使用C#中的网络编程库,如System.Net.Sockets和System.Net命名空间中的类。 3. 在实现网络管理功能时,需要考虑到网络安全性和数据完整性等方面的问题。因此,需要使用C#中的加密和哈希算法等技术来确保数据的安全性和完整性。 下面是一个简单的C#代码示例,用于实现OSEK网络管理功能: ```csharp using System; using System.Net; using System.Net.Sockets; namespace OSEKNetworkManagement { class Program { static void Main(string[] args) { // 创建一个TCP/IP套接字 Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); // 连接到远程主机 IPAddress ipAddress = IPAddress.Parse("192.168.0.1"); IPEndPoint remoteEP = new IPEndPoint(ipAddress, 11000); socket.Connect(remoteEP); // 发送数据 byte[] data = System.Text.Encoding.ASCII.GetBytes("Hello, OSEK!"); socket.Send(data); // 接收数据 byte[] buffer = new byte[1024]; int bytesReceived = socket.Receive(buffer); string response = System.Text.Encoding.ASCII.GetString(buffer, 0, bytesReceived); Console.WriteLine("Received: {0}", response); // 关闭套接字 socket.Shutdown(SocketShutdown.Both); socket.Close(); } } } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值