新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
多線程N(yùn)IO客戶端實例
- package night;
- import java.net .InetSocketAddress;
- import java.io .IOException;
- import java.io .BufferedReader;
- import java.io .InputStreamReader;
- import java.nio.ByteBuffer;
- import java.nio.channels .SocketChannel;
- import java.nio.channels.*;
- public class Kfd extends Thread {
- /**
- * @param args
- */
- public static void main(String[] args) {
- // TODO Auto-generated method stub
- new Kfd();
- System.out.println("請輸入:");
- }
- static SocketChannel sc;
- String host="127.0.0.1";
- int port=10000;
- ByteBuffer readbuf =ByteBuffer.allocate(1024);
- ByteBuffer writebuf=ByteBuffer.allocate(1024);
- InetSocketAddress ad=new InetSocketAddress(host,port);
- public Kfd (){
- start();
- try {sc=SocketChannel.open();
- Selector sl=Selector.open();
- sc.configureBlocking(false);
- //連接到server;
- sc.connect(ad);
- System.out.println("客服端連接成功");
- if(!sc.finishConnect()){
- System.out.print("客戶端連接失敗");
- }
- } catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- }
- public void run() {
- while(true){
- try {
- BufferedReader buf=
- new BufferedReader
- (new InputStreamReader(System.in));
- String str =buf.readLine();
- byte[]pack=str.getBytes();
- writebuf.clear();
- writebuf.put(pack);
- writebuf.flip();
- System.out.println("到這里");
- //發(fā)送
- send(sc);
- //接受
- recive(sc);
- }
- catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- }
- }
- private void recive(SocketChannel sc)throws IOException{
- while(true){
- if(sc.isConnectionPending()){
- sc.read(readbuf);
- }
- readbuf.flip();
- byte[]pack=null;
- pack=new byte[readbuf.limit()];
- //將緩沖的數(shù)據(jù)打包到數(shù)組中
- readbuf.get(pack);
- System.out.println(new String(pack.toString()));
- }
- }
- private void send(SocketChannel sc){
- while(true){
- while(writebuf.hasRemaining()){
- try {
- sc.write(writebuf);
- } catch (Exception e) {
- // TODO: handle exception
- e.printStackTrace();
- }
- }
- }
- }
- }
原文鏈接:http://refly.iteye.com/blog/1053152

創(chuàng)新互聯(lián)主要業(yè)務(wù)有網(wǎng)站營銷策劃、網(wǎng)站設(shè)計、網(wǎng)站制作、微信公眾號開發(fā)、小程序制作、H5高端網(wǎng)站建設(shè)、程序開發(fā)等業(yè)務(wù)。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當(dāng)客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務(wù)的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、成都全網(wǎng)營銷推廣資源和合作伙伴關(guān)系資源,并逐漸建立起規(guī)范的客戶服務(wù)和保障體系。
當(dāng)前題目:多線程N(yùn)IO客戶端實例
本文網(wǎng)址:http://m.fisionsoft.com.cn/article/cdhjjhe.html


咨詢
建站咨詢
