Socket是网络上运行的两个程序间双向通讯的一端,它既可以接受请求,也可以发送请求,利用它可以较为方便的编写网络上的数据的传递。在java中,有专门的socket类来处理用户的请求和响应。利用SOCKET类的方法,就可以实现两台计算机之间的通讯。这里就介绍一下在JAVA中如何利用socket进行网络编程。
接第一篇浅谈JAVA中如何利用socket进行网络编程(一)
在上一篇中我们已经和大家说到客户端的网络编程,下面和大家分享的是服务器的实现代码。
复制
import java.net.*; import java.io.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class talkServer { public static void main(String[] args) { try { file://建立服务器 ServerSocket server = new ServerSocket(9998); int i=1; for(;;) { Socket incoming = server.accept(); new ServerThread(incoming,i).start(); i++; } }catch (IOException ex){ ex.printStackTrace(); } } }
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
复制
class ServerThread extends Thread implements ActionListener { private int threadNum; private Socket socket; talkServerFrm t; BufferedReader in; PrintWriter out; private boolean talking=true; public ServerThread(Socket s,int c) { threadNum = c; socket = s; }
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
复制
public void actionPerformed(ActionEvent e) { Object source = e.getSource(); try{ if(source==t.btnSend) { out.println(t.getTalk()); t.clearTalk(); }else if(source==t.btnEnd) { out.println("谈话过程被对方终止"); out.close(); in.close(); talking = false; } }catch(IOException ex){ } }
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
复制
public void run() { try{ t=new talkServerFrm(new Integer(threadNum).toString(),this); t.setSize(500,500); t.show(); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(),true); }catch(Exception e){ } new Thread() { public void run() { try{ while(true) { checkInput(); sleep(1000); } }catch (InterruptedException ex){ }catch(IOException ex){ } } }.start(); while(talking) { } t.dispose(); }
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
复制
private void checkInput() throws IOException { String line; if((line=in.readLine())!=null) t.setPartner(line); file://这是界面类里的方法, file://用来将line的内容输出到用户界面 } }
1.
2.
3.
4.
5.
6.
7.
到此,java中的socket网络编程就给大家介绍完啦!希望对大家有帮助。
【编辑推荐】