import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.channels.SocketChannel;
/**
* 非阻塞的Socket链接。<br>
* 可以在链接建立期间做一些别的操作。
*
* @author 赵学庆,Java世纪网(java2000.net)
*
*/
public class SocketNonBlock {
/**
* 创建一个非阻塞的Socket通道。
*
* @param hostName
* 主机
* @param port
* 端口
* @return Socket端口
* @throws IOException
*/
public static SocketChannel createSocketChannel(String hostName, int port)
throws IOException {
SocketChannel sChannel = SocketChannel.open();
sChannel.configureBlocking(false);
sChannel.connect(new InetSocketAddress(hostName, port));
return sChannel;
}
public static void main(String[] args) {
try {
// 创建链接
SocketChannel sChannel = createSocketChannel("www.java2000.net", 80);
// 可以通过判断是否连接,在链接成功建立前做一些其它的事情
while (!sChannel.finishConnect()) {
System.out.println("waiting....");
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(sChannel.isConnected());
} catch (IOException e) {
e.printStackTrace();
}
}
}
运行结果
waiting....
waiting....
true
分享到:
相关推荐
使用MFC实现非阻塞套接字通信,可以多个客户端和一个服务器任意通信,通信协议采用protobuf,代码可直接运行exe文件,平台为vs2013。
C++ Socket编程示例; 阻塞和非阻塞,涉及多线程编程,以及定时清除服务器连接资源;
用一个最简单的例子说明异步非阻塞Socket的基本原理和工作机制
在通过一天学习,慢慢摸索中,研究出来了自己成果!
支持跨平台的非阻塞socket连接,no-block socket connect
采用UDP方式的进程间通信模型,支持非阻塞,socket编程,采用select网络模型。 采用UDP方式的进程间通信模型,支持非阻塞,socket编程,采用select网络模型。 采用UDP方式的进程间通信模型,支持非阻塞,socket编程...
Linux下基于C/C++的Socket的阻塞和异步编程实例
vc++6.0 编写socket多线程例程,非阻塞模式,客户端 服务器端源代码,可运行
用Java编写的简易聊天工具,使用AIO实现非阻塞socket通信,对理解非阻塞socket通信有很多帮助。
Java编写的简易聊天工具,使用NIO实现非阻塞socket通信,使用Java原生sdk实现,可以运行。
非阻塞select 实现 socket服务器使用select 实现 非阻塞的方式 来实现 服务端
socket阻塞与非阻塞的区别 socket socket阻塞与非阻塞的区别
本人写的Nio非阻塞socket通信demo,内有注释。
此源码基于socket windows下网络服务器程序,非阻塞模式。
非阻塞socket通信,非阻塞原理讲解,比喻形象,容易理解
通过java网络编程深入理解socket阻塞通信和非阻塞通信的在网络中的应用 源码包每一行都有注释,在代码里面每一个类都有详细的注释来解释这个类的功能这个方法的功能,调用哪一个类的哪一个功能等等。 压缩包包含实验...
C++封装类CWSocket(多线程 非阻塞)vc mfc 一般直接添加就可用,还有超时处理,强大。
NULL 博文链接:https://daojin.iteye.com/blog/720402
一个实现非阻塞模式SOCKET的PASCAL例子,给需要的人
一个很详细的文档,基于c++ winsocket的非阻塞服务器开发