栏目导航
热点推荐
- 三十条有用的 Java 编程规则
- Java制作水印图片源码
- Java常见异常及可能的导致原因
- Java中的修饰词使用方法总结
- J2EE系统异常的处理准则
- Java中的异常、断言、日志解析(
- Java面试技巧:Java面试题集锦(
- 面向Java开发人员的Scala指南:
- Java程序员:一刻钟精通正则表达
- 网友经验分享:学好java开发的关
- 专家解答:创建表格与数据库进行
- Java远程访问Domino数据库
阅览排行
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(); } } |
0
上一篇:用JDOM完成Java更新XML文件的方法 下一篇:Tomcat 7 的七大新特性