java涓璵ina妗嗘灦鎬庝箞浣跨敤
Apache MINA锛圡ultipurpose Infrastructure for Network Applications锛夋槸涓€涓熀浜嶯IO鐨勭綉缁滃簲鐢ㄦ鏋讹紝鍙互甯姪寮€鍙戣€呭揩閫熷紑鍙戦珮鎬ц兘鐨勭綉缁滃簲鐢ㄧ▼搴忋€備笅闈㈡槸涓€涓畝鍗曠殑绀轰緥婕旂ず濡備綍鍦↗ava涓娇鐢∕INA妗嗘灦锛?/p>
- 娣诲姞MINA渚濊禆锛?/li>
棣栧厛锛屽湪浣犵殑椤圭洰涓坊鍔燤INA鐨勪緷璧栥€備綘鍙互閫氳繃Maven鏉ユ坊鍔犱緷璧栵紝绀轰緥浠g爜濡備笅锛?/p>
<dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.1.3</version>
</dependency>
- 鍒涘缓涓€涓狹INA鏈嶅姟鍣細
涓嬮潰鏄竴涓畝鍗曠殑绀轰緥浠g爜锛屾紨绀哄浣曞垱寤轰竴涓狹INA鏈嶅姟鍣ㄥ苟澶勭悊瀹㈡埛绔繛鎺ワ細
public class MyServer {
public static void main(String[] args) throws IOException {
IoAcceptor acceptor = new NioSocketAcceptor();
acceptor.setHandler(new MyServerHandler());
acceptor.bind(new InetSocketAddress(12345));
System.out.println("Server started on port 12345");
}
private static class MyServerHandler extends IoHandlerAdapter {
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
String str = message.toString();
System.out.println("Message received: " + str);
session.write(str.toUpperCase());
}
@Override
public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
cause.printStackTrace();
session.closeNow();
}
}
}
- 鍒涘缓涓€涓狹INA瀹㈡埛绔細
涓嬮潰鏄竴涓畝鍗曠殑绀轰緥浠g爜锛屾紨绀哄浣曞垱寤轰竴涓狹INA瀹㈡埛绔繛鎺ュ埌涓婇潰鍒涘缓鐨勬湇鍔″櫒锛?/p>
public class MyClient {
public static void main(String[] args) throws IOException {
IoConnector connector = new NioSocketConnector();
connector.setHandler(new MyClientHandler());
ConnectFuture future = connector.connect(new InetSocketAddress("localhost", 12345));
future.awaitUninterruptibly();
IoSession session = future.getSession();
session.write("Hello, MINA!");
}
private static class MyClientHandler extends IoHandlerAdapter {
@Override
public void messageReceived(IoSession session, Object message) throws Exception {
String str = message.toString();
System.out.println("Response received: " + str);
}
@Override
public void exceptionCaught(IoSession session, Throwable cause) throws Exception {
cause.printStackTrace();
session.closeNow();
}
}
}
杩欐牱灏卞畬鎴愪簡涓€涓畝鍗曠殑MINA缃戠粶搴旂敤绋嬪簭锛屽叾涓寘鎷竴涓狹INA鏈嶅姟鍣ㄥ拰涓€涓狹INA瀹㈡埛绔€傚綋瀹㈡埛绔彂閫佹秷鎭埌鏈嶅姟鍣ㄦ椂锛屾湇鍔″櫒浼氬皢鏀跺埌鐨勬秷鎭浆鎹㈡垚澶у啓骞跺彂閫佸洖瀹㈡埛绔€備綘鍙互鏍规嵁鑷繁鐨勯渶姹傛潵鎵╁睍鍜屽畬鍠勮繖涓ず渚嬩唬鐮併€?/p>
相关问答