首页 | 源码下载 | 网站模板 | 网页特效 | 广告代码 | 网页素材 | 字体下载 | 书库 | 站长工具
会员投稿 投稿指南 RSS订阅
当前位置:主页>网络编程>java教程>资讯:Java socket应用的几个简单小实例

Java socket应用的几个简单小实例

www.jz123.cn  2010-06-30   来源:   中国建站    责任编辑(袁袁)    我要投递新闻

  用于本机上的客户端与服务器对话的小程序:

  客户端:

import java.io.BufferedReader;
  import java.io.BufferedWriter;
  import java.io.InputStreamReader;
  import java.io.OutputStreamWriter;
  import java.net.Socket;
  public class Client extends Thread
  {
  public void Write() throws Exception
  {
  Socket s=new Socket("127.0.0.1",12345);
  BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  String message="客户端说:";
  while(!(message.equals("")))
  {
  message=br.readLine();
  System.out.println("客户端说:"+message);
  bw.write(message+"n");
  bw.flush();
  }
  bw.close();
  s.close();
  }
  public void run()
  {
  Socket m=null;
  BufferedReader dr=null;
  try
  {
  m=new Socket("127.0.0.1",12345);
  dr=new BufferedReader(new InputStreamReader(m.getInputStream()));
  String msg="服务器说:";
  while(!(msg.equals("")))
  {
  msg=dr.readLine();
  System.out.println("服务器说:"+msg);
  }
  }
  catch(Exception e){e.printStackTrace();}
  finally
  {
  try
  {
  dr.close();
  m.close();
  }
  catch(Exception e){e.printStackTrace();}
  }
  }
  public static void main(String args[])throws Exception
  {
  Client c=new Client();
  c.start();
  c.Write();
  }
  }

  服务器:

import java.io.BufferedReader;
  import java.io.BufferedWriter;
  import java.io.InputStreamReader;
  import java.io.OutputStreamWriter;
  import java.net.ServerSocket;
  import java.net.Socket;
  public class Server extends Thread
  {
  private ServerSocket ss=null;
  public Server ()throws Exception
  {
  ss=new ServerSocket(12345);
  }
  public void Write()throws Exception
  {
  Socket s=ss.accept();
  BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  String message="服务器说:";
  while(!(message.equals("")))
  {
  message=br.readLine();
  System.out.println("服务器说:"+message);
  bw.write(message+"n");
  bw.flush();
  }
  //bw.close();
  s.close();
  }
  public void run()
  {
  Socket m=null;
  BufferedReader dr=null;
  try
  {
  m=ss.accept();
  dr=new BufferedReader(new InputStreamReader(m.getInputStream()));
  String msg="客户端说:";
  while(!(msg.equals("")))
  {
  msg=dr.readLine();
  System.out.println("客户端:"+msg);
  }
  }
  catch(Exception e){e.printStackTrace();}
  finally
  {
  try
  {
  dr.close();
  m.close();
  }
  catch(Exception e){e.printStackTrace();}
  }
  }
  public static void main(String args[])throws Exception
  {
  Server s=new Server();
  s.start();
  s.Write();
  }
  }

  用于本地群聊的小程序:

  客户端:

import java.io.BufferedReader;
  import java.io.BufferedWriter;
  import java.io.InputStreamReader;
  import java.io.OutputStreamWriter;
  import java.net.Socket;
  public class Friendclient extends Thread
  {
  public void Writer() throws Exception
  {
  Socket s=new Socket("127.0.0.1",54321);
  BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  String message="本客户端说:";
  while(!(message.equals("goodbye")))
  {
  message=br.readLine();
  System.out.println("客户端说:"+message);
  bw.write(message+"n");
  bw.flush();
  }
  bw.close();s.close();
  }
  public void run()
  {
  BufferedReader bq=null;
  Socket st=null;
  try
  {
  st=new Socket("127.0.0.1",54321);
  bq=new BufferedReader(new InputStreamReader(st.getInputStream()));
  String msg="其他客户端说:";
  while(!(msg.equals("")))
  {
  msg=bq.readLine();
  System.out.println("其他客户端说:"+msg);
  }
  }
  catch(Exception e){e.printStackTrace();}
  finally
  {
  try
  {
  bq.close();st.close();
  }
  catch(Exception e){e.printStackTrace();}
  }
  }
  public static void main(String args[])throws Exception
  {
  Friendclient ft=new Friendclient();
  ft.start();
  ft.Writer();
  }
  }

  服务器端:

import java.io.BufferedReader;
  import java.io.BufferedWriter;
  import java.io.InputStreamReader;
  import java.io.OutputStreamWriter;
  import java.net.ServerSocket;
  import java.net.Socket;
  import java.util.ArrayList;
  public class Allserver
  {
  private ServerSocket ss=null;
  private static ArrayList al=new ArrayList();
  public Allserver() throws Exception
  {
  ss=new ServerSocket(54321);
  while(true)
  {
  Socket s=ss.accept();
  al.add(s);
  new Mtherd(s).start();
  }
  }
  private class Mtherd extends Thread
  {
  private Socket sd=null;
  private BufferedReader br=null;
  //private BufferedWriter bw=null;
  public Mtherd(Socket sd)throws Exception
  {
  this.sd=sd;
  br=new BufferedReader(new InputStreamReader(sd.getInputStream()));
  //bw=new BufferedWriter(new OutputStreamWriter(sd.getOutputStream()));
  }
  public void run()
  {
  try
  {
  String gh="...................";
  while(true)
  {
  gh=br.readLine();
  setAll(gh);
  }
  }
  catch(Exception e){e.printStackTrace();}
  }
  public void setAll(String x)throws Exception
  {
  Socket ss=null;
  BufferedWriter bv=null;
  for(int i=0;i 
  {
  ss=(Socket)al.get(i);
  bv=new BufferedWriter(new OutputStreamWriter(ss.getOutputStream()));
  bv.write(x+"n");
  bv.flush();
  }
  }
  }
  public static void main(String args[])throws Exception
  {
  new Allserver();
  }
  }


上一篇:用JDOM完成Java更新XML文件的方法 下一篇:Tomcat 7 的七大新特性

评论总数:0 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图