Socket的监听的三种方式
来源:互联网 发布:php微信创建菜单 编辑:程序博客网 时间:2024/06/04 23:35
首先要打开监听
1
2
3
4
Listener =
new
Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
IPEndPoint hostEntry =
new
IPEndPoint(getLocalmachineIPAddress(), ServerPort);
Listener.Bind(hostEntry);
Listener.Listen(ConnectionsQueueLength);
1. AcceptAsync异步方式
1
2
3
4
5
socketEventArg =
new
SocketAsyncEventArgs();
socketEventArg.Completed +=
new
EventHandler<SocketAsyncEventArgs>(SocketEventArg_Completed);
socketEventArg.RemoteEndPoint = hostEntry;
socketEventArg.UserToken = Listener;
Listener.AcceptAsync(socketEventArg);
void
SocketEventArg_Completed(
object
sender, SocketAsyncEventArgs e)
{
if
(e.LastOperation == SocketAsyncOperation.Accept)
{
Socket acceptSocket = e.AcceptSocket;
if
(acceptSocket !=
null
)
{
// 处理方法
}
}
e.AcceptSocket =
null
;
Listener.AcceptAsync(e);
}
2. Accept方式
1
2
3
4
5
6
7
while
(
true
)
{
Socket acceptSocket = Listener.Accept();
if
(acceptSocket !=
null
)
{
// 处理代码
1
2
}
}
3. BeginAccept方式
1
2
3
4
while
(
true
)
{
Listener.BeginAccept(
new
AsyncCallback(AcceptCallBack), Listener);
}
1
private
void
AcceptCallBack(IAsyncResult result)
{
Socket acceptSocket = (Socket)result.AsyncState;
// 处理方法
}
0 0
- Socket的监听的三种方式
- 监听JButton的三种方式
- 监听文本框的三种方式
- filter实现监听的三种方式
- Button设置监听的三种方式
- socket接受数据的三种方式
- java Swing:实现事件监听的三种方式
- java Swing:实现事件监听的三种方式
- extjs组件添加事件监听的三种方式
- android监听事件添加动作的三种方式
- Android App监听软键盘按键的三种方式
- Android App监听软键盘按键的三种方式
- extjs组件添加事件监听的三种方式
- Android App监听软键盘按键的三种方式
- extjs组件添加事件监听的三种方式
- NGUI三种方式监听NGUI的事件方法
- 三种方式监听NGUI的事件方法(七)
- 【Android】Button实现监听的三种方式
- 重温《JAVA编程思想》----2017.1.21动态代理
- web安全相关资料
- react-native源码中给android程序员福利!!
- 一起学WEB(三) CSS到底是干啥的
- (c++)输入三个字符串,按由小到大的顺序输出
- Socket的监听的三种方式
- javascript
- 支付宝 Android 版使用的开源组件
- SpringAOP快速使用
- hrbust 哈理工 1013
- PHP中@的用法
- 【Dongle】【Java】规范之EJB
- jstl表达式分页 Mvc后台
- Mysql: Lock wait timeout exceeded; try restarting transaction异常处理