當前位置:編程學習大全網 - 源碼下載 - Ocket源代碼分析

Ocket源代碼分析

最基本的寫作方法

服務器端

公共?班級?MyTcpServer{

公共?靜電?作廢?mian(String[]?args){

試試?{

//構造壹個服務器端端口為12345的socket服務器;

ServerSocket?serverSocket?=?新的?server socket(12345);

//等待接收socket客戶端的連接,獲取客戶端的socket對象。

//?當沒有客戶端連接時,此方法將被阻止。

插座?客戶?=?server socket . accept();

//獲取socket客戶端的輸入管道。

InputStream?是嗎?=?client . getinputstream();

//獲取socket客戶端的輸出管道。

OutputStream?os=?client . get output stream();

byte[]?緩沖?=?新的?byte[1024];

int?萊恩。=?is.read(緩沖區);

system . out . println("-& gt;+新?字符串(緩沖區));

os.write("餵?客戶”。getBytes());

OS . flush();

is . close();

OS . close();

client . close();

server socket . close();

}?接住?(IOException?e)?{

e . printstacktrace();

}

}

}

客戶?建立

私人?班級?MyThread?延伸?線程{

@覆蓋

公共?作廢?run()?{

super . run();

試試?{

插座?客戶?=?新的?插座(" 192.168.3 . 173 ",12345);//IP是服務器IP?,端口號就是服務器端口號。

InputStream?在?=?client . getinputstream();

OutputStream?出局?=?client . get output stream();

out.write("餵?服務器”。getBytes());//如果先在服務器端執行讀取操作。那麽客戶端應該先寫。

//這是交替進行的,否則在Read中會全部阻塞?讀取操作。

out . flush();

byte[]?緩沖?=?新的?byte[1024];

int?萊恩。=?in . read();

in.read(緩沖區);

system . out . println("-& gt;+新?字符串(緩沖區));

}?接住?(IOException?e)?{

e . printstacktrace();

}

}

}

}

  • 上一篇:compareto java
  • 下一篇:急用!!基於Java的形狀編輯器源代碼
  • copyright 2024編程學習大全網