SOCKET Communication writen in C# (4) Socket 同步模式,异步模式操作

试这将前面的TcpListener和TcpClient,只针对TCP的协议操作socket

基本上只把对象换成System.Net.Sockets.Socket没什么大问题.

 

如果要编写相对简单的应用程序,而且不需要最高的性能,则可以考虑使用 TcpClientTcpListenerUdpClient。这些类为 Socket 通信提供了更简单、对用户更友好的接口。

 

但是Socket对象有几个新对象需要了解一下:

 

1.

SocketFlags 枚举

此枚举有一个 FlagsAttribute 属性,通过该属性可使其成员值按位组合

http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socketflags.aspx

 

SocketError 枚举

 

定义 Socket 类的错误代码。

http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socketerror.aspx

 

SocketException 类

 

 发生套接字错误时引发的异常。http://msdn.microsoft.com/zh-cn/library/system.net.sockets.socketexception.socketexception.aspx

 

Socket..::.Available 属性

 

从网络接收的、可供读取的数据的字节数。

 

1.如果当前使用的是非阻止 Socket,一种较好的做法是在调用 Receive 之前使用 Available 来确定数据是否排队等待读取。可用的数据即网络缓冲区中排队等待读取的全部数据。如果在网络缓冲区中没有排队的数据,则 Available 返回 0。

2.如果远程主机处于关机状态或关闭了连接,则 Available 会引发 SocketException。如果收到 SocketException,请使用 SocketException..::.ErrorCode 属性获取特定的错误代码

 

 

 

 

     编写过程中发现在设置回调函数参数AsyncCallback CallBack ,实际上不需要去设置该对象,直接使用回调函数的名称就可以了.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值