本文实例为大家分享了c#以流方式读插座超时设置的具体代码,供大家参考,具体内容如下
使用系统; 使用先; 使用System.Net; 使用text; 使用System.Net.Sockets; 公共类的客户 { 公共静态void Main () { 试一试 {//新建客户端套接字 TcpClient tcpclnt=new TcpClient (); Console.WriteLine(“连接.....”);//连接服务器 tcpclnt。ReceiveTimeout=3000;//设置插座的接收超时时间为3 s。 tcpclnt.Connect (127.0.0.1, 8001); Console.WriteLine(“已连接”); 控制台。写(“请输入要传输的字符串:”);//读入字符串 字符串str=Console.ReadLine ();//得到客户端的流 流stm=tcpclnt.GetStream ();//发送字符串 ASCIIEncoding阿森=new ASCIIEncoding (); 英航byte []=asen.GetBytes (str); Console.WriteLine(“传输中.....”); stm.Write (ba 0 ba.Length);//接收从服务器返回的信息 byte [] bb=新字节[100]; int k=stm.Read (bb, 0100);//3秒后会出现超时异常//输出服务器返回信息 (int i=0;我 { Console.Write (Convert.ToChar (bb[我])); }//关闭客户端连接 tcpclnt.Close (); } 捕获(异常e) { Console.WriteLine .....(“错误“+ e.StackTrace); } } } >之前TCPListener类用于监听客户端连接请求,TCPClient类用于提供本地主机和
远程主机的连接信息。
两个类都位于System.Net。soccket命名空间下
TCPListener类常用的放方法。
方法,,,,,,,,,,,,,,,,,,,,,,,说明
AcceptSocket ,,,,,,,从端口处接收一个连接并赋予它套接字对象
Equals ,,,,,,,,,,,,,,,,,,,判断两个TcpListener对象是否相等
GetType ,,,,,,,,,,,,,,,,获取当前实例的类型
Pending ,,,,,,,,,,,,,,,,确定是否有挂起的连接请求
Start ,,,,,,,,,,,,,,,,,,,,,,开始接听传入的连接请求
Stop ,,,,,,,,,,,,,,,,,,,,,,关闭监听器
ToString ,,,,,,,,,,,,,,,,创建TcpListener对象的字符串表示所以我们在用TcpListener监听港口时,一旦连接建立,也可以从tcplisener.acceptTcpclient得到一个tcpclient对象,对数据的读写就可以设置超时了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
c#以流方式读插座超时设置的实例