使用NIO的InetSocketAddress建立网络通信非常方便,包括服务端和客户端:
服务端创建一个ServerSocketChannel,等待客户端发起链接请求,下面的例子比较简单,开启服务端等待客户端请求,接收到客户端的连接后,给客户端发送数据。
Server段代码:
import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; import java.nio.channels.ServerSocketChannel; import java.nio.channels.SocketChannel; public class Server2 { public static void main(String[] args) throws IOException { InetSocketAddress socketAddress = new InetSocketAddress("localhost", 5555); ServerSocketChannel server = ServerSocketChannel.open(); server.socket().bind(socketAddress); SocketChannel channel = null; while((channel = server.accept()) != null) { OutputStream out = channel.socket().getOutputStream(); while(true) { out.write("hello world !!".getBytes()); out.flush(); } } } }
client段代码:
import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.SocketChannel; public class Client2 { public static void main(String[] args) throws IOException, InterruptedException { InetSocketAddress socketAddress = new InetSocketAddress("localhost", 5555); SocketChannel channel = SocketChannel.open(socketAddress); channel.configureBlocking(false); ByteBuffer buffer = ByteBuffer.allocate(20); while(true) { int n = channel.read(buffer); System.out.println(n); System.out.println("receive data : " + new String(buffer.array(), 0, n)); Thread.sleep(1000); buffer.flip(); } } }
相关推荐
在Java编程环境中,当需要通过局域网(LAN)进行网络通信时,有时会遇到需要使用代理服务器的情况。代理服务器可以提供多种功能,包括提高访问速度、缓存、过滤网络内容以及匿名上网等。本文将深入探讨如何在Java中...
- 接着,使用`accept()`方法等待连接请求,并处理每个新连接。 - 当有客户端连接时,创建一个新的`SocketChannel`来处理该连接上的通信。 ```java NioServerSocketChannel server = NioServerSocketChannel.open...
输出完了要关闭连接啊。用exc.close(); 执行关闭连接。 HttpServer server = HttpServer.create(new InetSocketAddress(44444),10); ... InetSocketAddress addr = new InetSocketAddress(7778);
InetSocketAddress address = new InetSocketAddress(ipAddress, port); socket.connect(address, 5000); // 5000毫秒超时 System.out.println("网络连接成功"); } catch (IOException e) { if (e.getMessage...
本文将深入讲解如何在Java环境下集成和使用Memcached。 首先,我们需要在Java项目中引入Memcached的客户端库。常见的Java Memcached客户端有spymemcached和xmemcached,这里以spymemcached为例。可以通过Maven在`...
HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0); server.createContext("/hello", new HelloWorldHandler()); server.start(); ``` 其中,`HelloWorldHandler`是一个实现了`HttpHandler`...
本篇文章将深入探讨如何在Java NIO中使用Selector处理客户端的I/O请求。 首先,我们需要理解Selector的工作原理。Selector是一个多路复用器,它可以监控多个通道的事件状态,如连接就绪、数据可读或可写等。通过...
import java.net.InetSocketAddress; public class MemCachedManager { private static final String SERVERS = "localhost:11211"; public static void main(String[] args) { try { MemcachedClient client ...
InetSocketAddress address = new InetSocketAddress("localhost", 9999); MyService proxy = RPC.getProxy(MyService.class, 0L, address, Configuration.getConfiguration()); MyRequest request = new ...
acceptor.bind(new InetSocketAddress(8080)); // 在MyHandler中处理事件 public class MyHandler extends IoHandlerAdapter { @Override public void messageReceived(IoSession session, Object message) { //...
InetSocketAddress serverAddress = new InetSocketAddress("127.0.0.1", 8080); Socket socket = new Socket(); socket.connect(serverAddress); ``` 总的来说,`InetAddress`是Java中处理IP地址和主机名的基础...
通信TCP UDP编程是网络编程中的基础,涉及到网络通信的核心协议和API使用。TCP(传输控制协议)和UDP(用户数据报协议)是互联网协议(IP)的两种主要传输层协议,它们提供了不同级别的可靠性和效率。 TCP是一种...
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0); server.createContext("/add", new AddServiceHandler()); server.setExecutor(null); // creates a default executor server.start()...
* 套接字的使用和配置:InetSocketAddress、Socket * 连接器的实现:NioSocketAcceptor 四、Mina2.0 框架源码剖析(二) Mina2.0 框架源码剖析(二)主要包括了解 Mina2.0 的过滤器机制、编解码器的使用、异常处理...
InetSocketAddress remoteAddress = new InetSocketAddress("localhost", 9999); ByteBuffer buf = ByteBuffer.wrap("Hello".getBytes()); channel.send(buf, remoteAddress); ``` 3. **SocketChannel**:通过 ...
InetSocketAddress socketAddress1 = new InetSocketAddress("127.0.0.1", 8080); System.out.println(socketAddress1); InetSocketAddress socketAddress2 = new InetSocketAddress("localhost", 8090); ...
InetSocketAddress remoteAddress = new InetSocketAddress("192.168.1.2", 7001); rtpManager.addTarget(remoteAddress); DataSource dataSource = ... // 获取数据源,例如音频或视频捕获设备 SendStream ...
MemcachedClient memcachedClient = new MemcachedClient(new InetSocketAddress("localhost", 11211)); // 存储数据 String key = "exampleKey"; String value = "exampleValue"; memcachedClient.set(key, ...
首先,为了在Java工程中使用Memcached,我们需要引入一个Java客户端库。常见的有spymemcached和xmemcached,这里以spymemcached为例。在Maven项目中,可以在pom.xml文件中添加如下依赖: ```xml <groupId>...
在 Netty 中,我们可以使用 `NioDatagramChannel` 类来处理 UDP 通信。 创建 UDP 接收服务的关键步骤如下: 1. **初始化 Bootstrap**:首先,我们需要创建一个 `Bootstrap` 实例,这是 Netty 中启动服务器的基本...