看板java
标 题Re: [问题] Server/Clinet的问题~
发信站无名小站 (Fri Apr 7 21:10:09 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!news.ee.ttu!netnews.csie.nc
看了您的程式,留几个方向供您参考:
1.) 请在Server端放个while loop来一直accept(),
每次accept()之後请务必create 一个 thread 来handle 您的 stream.
2.) 根据Http protocol,Client跟Server是双向沟通的,
所以两个程式都应该有input stream 和 output stream.
3.) 去网路上找几个java chatroom来看程式码应该会学得比较快。
4.) 去K一下HTTP protocol。要不然,您写出来的web server就只有您的client可以连
根本就没意义。
※ 引述《[email protected] (gnn)》之铭言:
> 请问一下:
> 我想写一个多执行绪的webserver让多个client同时来连到server取得index.htm档,
> 而这是建立TCP连线,我想把观念搞清楚,我知道server跟client沟通时,需各产生一个
> socket来对谈,那资料的Input跟Output称为Stream。我参考书本有一支server的程式,
> 一支client的程式,可是我不知道多执行绪要加在哪,我也不知道怎麽把档案(*.htm)
> 放在server端。所以我觉得是不是我的观念还少了一些什麽,没办法很明确的知道我
> 程式要怎麽改。之前我写过C,Java我k大约1星期。我把程式码放在下面,也请大大
> 帮我厘清一下这个问题。感谢!~^^"
> // app22_6, 建立Server端的伺服程式
> import java.net.*;
> import java.io.*;
> public class app22_6
> {
> public static void main(String args[])
> {
> try
> {
> ServerSocket svs=new ServerSocket(2525);
> System.out.println("等候客户端的请求中...");
> Socket s=svs.accept(); // 等候客户端的请求
> System.out.println("客户端已和本机连上线...");
> OutputStream out=s.getOutputStream(); // 取得输出串流
> String str="Hello Client";
> System.out.println("资料正在传送中...");
> out.write(str.getBytes()); // 将字串转成Byte阵列,再写入串流中
> out.close(); // 关闭输出串流
> s.close(); // 关闭socket
> System.out.println("资料传送完毕...");
> }
> catch(Exception e)
> {
> System.out.println("发生了"+e+"例外");
> }
> }
> }
> ---------------------------------------------------------------------------
> // app22_7, 建立Client端的伺服程式
> import java.net.*;
> import java.io.*;
> public class app22_7
> {
> public static void main(String args[])
> {
> byte buff[]=new byte[1024]; // 建立byte型态的阵列
> try
> {
> System.out.println("正在与伺服器建立连线...");
> Socket s=new Socket("127.0.0.1",2525); // 建立socket物件
> System.out.println("已经与伺服器取得连线...");
> InputStream in=s.getInputStream(); // 建立输入串流
> int n=in.read(buff); // 从串流读入资料
> System.out.print("从伺服端收到: ");
> System.out.println (new String(buff,0,n));// 印出读入的内容
> in.close();
> s.close();
> }
> catch(Exception e)
> {
> System.out.println("发生了"+e+"例外");
> }
> }
> }
--
夫兵者不祥之器物或恶之故有道者不处君子居则贵左用兵则贵右兵者不祥之器非君子
之器不得已而用之恬淡为上胜而不美而美之者是乐杀人夫乐杀人者则不可得志於天下
矣吉事尚左凶事尚右偏将军居左上将军居右言以丧礼处之杀人之众以哀悲泣之战胜以
丧礼处之道常无名朴虽小天下莫能臣侯王若能守之万物将自宾天地相合以降甘露民莫
之令而自均始制有名名亦既有夫亦将知止知止可以不殆譬道之在天下犹 tm.net.my海