当前位置:编程学习 > C#/ASP.NET >>

winsock如何编程

原vs6的winsock activex控件接收数据是有事件触发,现在的tcplisten与tcpclient都只有属性与方法,如何检测数据到达?是否用死循环来不断检测数据是否可以接收?请高手指教
--------------------编程问答-------------------- 有个getstream()方法的用stream接收再判断长度就行了 --------------------编程问答-------------------- 连接之后不是一直都有数据,用什么方法检测对方有数据到达。
原activeX控件是有数据到达时有一个事件自动通知。现在类只有属性与方法,如何实现自动检测数据到达的功能 --------------------编程问答-------------------- //侦听到请求了
if (this.tcpListener.Pending())
{
   var socket = this.tcpListener.AcceptSocket();
   //缓冲区收到待读取的数据
   if (socket.Available > 0)
   {
        BeginRecieve(socket);
        ...
   }
}

上面只是简单的判断逻辑,记得用异步处理 --------------------编程问答-------------------- 你可以用死循环,不过,在还没有侦听到请求时
线程将阻塞在this.tcpListener.AcceptSocket();
或者异步方式的EndAcceptSocket()
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,