浅谈JAVA中如何利用socket进行网络编程(二)
生活随笔
收集整理的這篇文章主要介紹了
浅谈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)題。
- 上一篇: 2018/5/12日更新Win7x86x
- 下一篇: Push rejected: Push