仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 600|回复: 11
打印 上一主题 下一主题

[学习教程] 来看[JAVA100例]044、多线程服务器:每一个人都有份

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。
//文件名:moreServer.java
importjava.io.*;
importjava.net.*;
importjava.util.*;
/**
*<p>Title:多线程服务器</p>
*<p>Description:本实例利用多线程完成多服务功效。</p>
*<p>Copyright:Copyright(c)2003</p>
*<p>Filename:</p>
*@version1.0
*/
classmoreServer
{
publicstaticvoidmain(String[]args)throwsIOException
{
 System.out.println("Serverstarting...
");
 //利用8000端口供应服务
 ServerSocketserver=newServerSocket(8000);
 while(true)
 {
  //堵塞,直到有客户毗连
  Socketsk=server.accept();
  System.out.println("AcceptingConnection...
");
  //启动服务线程
  newServerThread(sk).start();
 }
}
}
//利用线程,为多个客户端服务
classServerThreadextendsThread
{
privateSocketsk;

ServerThread(Socketsk)
{
 this.sk=sk;
}
//线程运转实体
publicvoidrun()
{
 BufferedReaderin=null;
 PrintWriterout=null;
 try{
  InputStreamReaderisr;
  isr=newInputStreamReader(sk.getInputStream());
  in=newBufferedReader(isr);
  out=newPrintWriter(
     newBufferedWriter(
      newOutputStreamWriter(
       sk.getOutputStream())),true);
while(true){
   //吸收来自客户真个哀求,依据分歧的命令前往分歧的信息。
   Stringcmd=in.readLine();
   System.out.println(cmd);
   if(cmd==null)
     break;
   cmd=cmd.toUpperCase();
   if(cmd.startsWith("BYE")){
    out.println("BYE");
    break;
   }else{
    out.println("你好,我是服务器!");
   }
  }
  }catch(IOExceptione)
  {
   System.out.println(e.toString());
  }
  finally
  {
   System.out.println("ClosingConnection...
");
   //最初开释资本
   try{
   if(in!=null)
    in.close();
   if(out!=null)
    out.close();
    if(sk!=null)
     sk.close();
   }
   catch(IOExceptione)
   {
   System.out.println("closeerr"+e);
   }
  }
}
}
//文件名:SocketClient.java
importjava.io.*;
importjava.net.*;
classSocketThreadClientextendsThread
{
publicstaticintcount=0;
//机关器,完成服务
publicSocketThreadClient(InetAddressaddr)
{
 count++;
 BufferedReaderin=null;
 PrintWriterout=null;
 Socketsk=null;
 try{
 //利用8000端口
 sk=newSocket(addr,8000);
 InputStreamReaderisr;
 isr=newInputStreamReader(sk.getInputStream());
 in=newBufferedReader(isr);
 //创建输入
 out=newPrintWriter(
     newBufferedWriter(
     newOutputStreamWriter(
      sk.getOutputStream())),true);
 //向服务器发送哀求
 System.out.println("count:"+count);
 out.println("Hello");
 System.out.println(in.readLine());
 out.println("BYE");
 System.out.println(in.readLine());
}
 catch(IOExceptione)
 {
 System.out.println(e.toString());
 }
 finally
 {
 out.println("END");
 //开释资本
 try
 {
  if(in!=null)
  in.close();
  if(out!=null)
  out.close();
  if(sk!=null)
  sk.close();
 }
 catch(IOExceptione)
 {
 }
 }
}
}
//客户端
publicclassSocketClient{
 publicstaticvoidmain(String[]args)throwsIOException,InterruptedException
 {
  InetAddressaddr=InetAddress.getByName(null);
   for(inti=0;i<10;i++)
    newSocketThreadClient(addr);
   Thread.currentThread().sleep(1000);
 }
}

那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net网页编程比java好。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-20 21:39:33 | 只看该作者
是一种突破用户端机器环境和CPU
因胸联盟 该用户已被删除
板凳
发表于 2015-1-20 21:39:33 | 只看该作者
是一种使用者不需花费很多时间学习的语言
海妖 该用户已被删除
地板
发表于 2015-1-30 05:45:36 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
蒙在股里 该用户已被删除
5#
发表于 2015-2-1 10:58:16 | 只看该作者
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
深爱那片海 该用户已被删除
6#
发表于 2015-2-4 02:23:51 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
小女巫 该用户已被删除
7#
发表于 2015-2-19 21:17:21 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
只想知道 该用户已被删除
8#
发表于 2015-3-2 23:59:51 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
再现理想 该用户已被删除
9#
发表于 2015-3-10 06:30:37 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
小妖女 该用户已被删除
10#
发表于 2015-3-11 03:56:50 | 只看该作者
如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。
小魔女 该用户已被删除
11#
发表于 2015-3-13 08:08:20 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
柔情似水 该用户已被删除
12#
发表于 2015-3-20 16:52:59 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-27 13:27

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表