日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

浅谈JAVA中如何利用socket进行网络编程(二)

發(fā)布時(shí)間:2024/4/13 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 浅谈JAVA中如何利用socket进行网络编程(二) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自:http://developer.51cto.com/art/201106/268386.htm

Socket是網(wǎng)絡(luò)上運(yùn)行的兩個(gè)程序間雙向通訊的一端,它既可以接受請(qǐng)求,也可以發(fā)送請(qǐng)求,利用它可以較為方便的編寫網(wǎng)絡(luò)上的數(shù)據(jù)的傳遞。在java中,有專門的socket類來(lái)處理用戶的請(qǐng)求和響應(yīng)。利用SOCKET類的方法,就可以實(shí)現(xiàn)兩臺(tái)計(jì)算機(jī)之間的通訊。這里就介紹一下在JAVA中如何利用socket進(jìn)行網(wǎng)絡(luò)編程。

接第一篇淺談JAVA中如何利用socket進(jìn)行網(wǎng)絡(luò)編程(一)

在上一篇中我們已經(jīng)和大家說(shuō)到客戶端的網(wǎng)絡(luò)編程,下面和大家分享的是服務(wù)器的實(shí)現(xiàn)代碼。

1 import java.net.*; 2 import java.io.*; 3 import java.awt.event.ActionEvent; 4 import java.awt.event.ActionListener; 5 public class talkServer 6 { public static void main(String[] args) 7  { try 8 { file://建立服務(wù)器 9  ServerSocket server = new ServerSocket(9998); 10  int i=1; 11  for(;;) 12 { Socket incoming = server.accept(); 13  new ServerThread(incoming,i).start(); 14  i++; 15 } 16  }catch (IOException ex){ 17  ex.printStackTrace(); 18 } 19  } 20 }

?

1 class ServerThread extends Thread implements ActionListener 2 { 3  private int threadNum; 4  private Socket socket; 5  talkServerFrm t; 6  BufferedReader in; 7  PrintWriter out; 8  private boolean talking=true; 9  public ServerThread(Socket s,int c) 10  { threadNum = c; 11 socket = s; 12  } 13 14 public void actionPerformed(ActionEvent e) 15 { Object source = e.getSource(); 16  try{ 17 if(source==t.btnSend) 18  { out.println(t.getTalk()); 19 t.clearTalk(); 20 }else 21 if(source==t.btnEnd) 22  { out.println("談話過(guò)程被對(duì)方終止"); 23 out.close(); 24 in.close(); 25 talking = false; 26  } 27  }catch(IOException ex){ 28  } 29 } 30 31 public void run() 32 { try{ 33 t=new talkServerFrm(new Integer(threadNum).toString(),this); 34 t.setSize(500,500); 35 t.show(); 36 in = new BufferedReader(new 37   InputStreamReader(socket.getInputStream())); 38 out = new PrintWriter(socket.getOutputStream(),true); 39  }catch(Exception e){ 40 } 41  new Thread() 42  { public void run() 43 { try{ 44 while(true) 45 { checkInput(); 46  sleep(1000); 47 } 48  }catch (InterruptedException ex){ 49  }catch(IOException ex){ 50  } 51  } 52  }.start(); 53  while(talking) 54  { } 55  t.dispose(); 56  } 57 58 private void checkInput() throws IOException 59 { String line; 60  if((line=in.readLine())!=null) 61 t.setPartner(line); file://這是界面類里的方法, 62 file://用來(lái)將line的內(nèi)容輸出到用戶界面 63  } 64 }

到此,java中的socket網(wǎng)絡(luò)編程就給大家介紹完啦!希望對(duì)大家有幫助。

?

轉(zhuǎn)載于:https://www.cnblogs.com/sharpest/p/10054539.html

總結(jié)

以上是生活随笔為你收集整理的浅谈JAVA中如何利用socket进行网络编程(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。