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

  Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上的数据的传递。在java中,有专门的socket类来处理用户的请求和响应。利用SOCKET类的方法,就可以实现两台计算机之间的通讯。这里就介绍一下在JAVA中如何利用socket进行网络编程。

  接第一篇浅谈Java中如何利用socket进行网络编程(一)

  在上一篇中我们已经和大家说到客户端的网络编程,下面和大家分享的是服务器的实现代码。

  

    import.*; importjava.io.*; importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener; publicclasstalkServer {publicstaticvoidmain(String[]args)  {try{file://建立服务器 ServerSocketserver=newServerSocket(9998);  inti=1;  for(;;) {Socketincoming=server.accept();  newServerThread(incoming,i).start();  i++; }  }catch(IOExceptionex){  ex.printStackTrace(); }  } }

  

    classServerThreadextendsThreadimplementsActionListener {  privateintthreadNum;  privateSocketsocket;  talkServerFrmt;  BufferedReaderin;  PrintWriterout;  privatebooleantalking=true;  publicServerThread(Sockets,intc)  {threadNum=c; socket=s;  }

  

    publicvoidactionPerformed(ActionEvente) {Objectsource=e.getSource();  try{ if(source==t.btnSend)  {out.println(t.getTalk()); t.clearTalk(); }elseif(source==t.btnEnd)  {out.println(“谈话过程被对方终止”); out.close(); in.close(); talking=false;  }  }catch(IOExceptionex){  } }

    publicvoidrun() {try{ t=newtalkServerFrm(newInteger(threadNum).toString(),this); t.setSize(500,500); t.show(); in=newBufferedReader(new  InputStreamReader(socket.getInputStream())); out=newPrintWriter(socket.getOutputStream(),true);  }catch(Exceptione){ }  newThread()  {publicvoidrun() {try{ while(true) {checkInput();  sleep(1000); }  }catch(InterruptedExceptionex){  }catch(IOExceptionex){  }  }  }.start();  while(talking)  {}  t.dispose();  }

  

    privatevoidcheckInput()throwsIOException {Stringline;  if((line=in.readLine())!=null) t.setPartner(line);file://这是界面类里的方法, file://用来将line的内容输出到用户界面  } }

  到此,java中的socket网络编程就给大家介绍完啦!希望对大家有帮助。

  相关链接:

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

十七岁怎么会有七十岁的忧伤,十八岁怎么会有八十岁的等待。

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

相关文章:

你感兴趣的文章:

标签云: