网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.技巧:Java垃圾收集器使用小诀窍.
.配置weblogic 8.1和hibernate 3..
.什么叫JAVA虚拟机.
.用Java快速开发LinuxGUI应用.
.如何在Java中利用数据包.
.用JDOM处理XML文档.
.J2EE中用RMI和CORBA进行分布式Ja.
.在java中实现sql的select函数功能.
.java开发常用工具总结.
.使用 JOTM 向 Servlet 添加事务.
.Think in java 3rd 中文版11.
.Canvas中使用Font.
.直接召唤系与IoC fashion使.
.Tomcat下中文问题的解决(原创).
.穿透Socks5 代理的UDP编程.
.Effective Java读书笔记之一.
.Tomcat 配置技巧精华详解分析.
.面向对象的思维方式.
.高效J2ME应用程序秘诀二十招.
.将存储过程封装为EJB组件的方法.

一个完整的Socket例子

发表日期:2008-1-5



  以下程序在Jbuilder4下调试成功![下载源程序]
  服务端的程序:
  import Java.io.*;
  import java.net.*;
  
  public class SocketServer {
  ServerSocket ss=null;
  Socket s=null;
  DataInputStream inStream=null;
  DataOutputStream outStream=null;
  
  public SocketServer() {
  try{
  init();
  }
  catch(Exception e){
  System.out.println(e.toString());
  }
  }
  
  void init() throws Exception{
  ss=new ServerSocket(765);
  s.setSoTimeout(3000);
  }
  
  void waitForClient(){
  try{
  s=ss.accept();
  inStream=new DataInputStream(s.getInputStream());
  outStream=new DataOutputStream(s.getOutputStream());
  outStream.writeUTF("1");
  s.setSoTimeout(3000);
  waitData();
  }
  catch(Exception e){
  System.out.println(e.toString());
  }
  }
  
  void waitData(){
  while(true){
  try{
  String str=inStream.readUTF();
  System.out.println("Server accept: "+str);
  int nu=Integer.parseInt(str)+1;
  if(nu>20){
  System.out.println("Send end!");
  break;
  }
  else{
  str=Integer.toString(nu);
  outStream.writeUTF(str);
  }
  }
  catch(Exception e){
  System.out.println(e.toString());
  break;
  }
  }
  }
  
  public static void main(String[] args) {
  SocketServer socketServer1 = new SocketServer();
  socketServer1.waitForClient();
  }
  }
  
  客户端的程序:
  
  
  import java.net.*;
  import java.io.*;
  
  public class SocketClient{
  Socket s=null;
  DataInputStream inStream=null;
  DataOutputStream outStream=null;
  
  public SocketClient() {
  try{
  init();
  waitData();
  }
  catch(Exception e){
  System.out.println(e.toString());
  }
  }
  
  void init() throws Exception{
  s=new Socket("192.168.0.32",765); //把这里的IP改成你运行SocketServer.class的IP
  inStream=new DataInputStream(s.getInputStream());
  outStream=new DataOutputStream(s.getOutputStream());
  s.setSoTimeout(3000);
  }
  
  void waitData(){
  while(true){
  try{
  String str=inStream.readUTF();
  System.out.println("Client accept: "+str);
  str=Integer.toString(Integer.parseInt(str)+1);
  outStream.writeUTF(str);
  }
  catch(Exception e){
  System.out.println(e.toString());
  break;
  }
  }
  }
  
  public static void main(String[] args) {
  SocketClient socketClient1 = new SocketClient();
  }
  }
上一篇:非阻塞套接字(Nonblocking Sockets) 概述 人气:931
下一篇:JAVA 的Socket机制 人气:850
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐