您的位置: 首页 > 软件教程 > Java教程专题 > Java 在Client/Server 中应用

Java 在Client/Server 中应用

8.5分
出处:网络 时间:2011-04-25

您可能感兴趣的话题: Java  

核心提示:和Internet上的许多环境一样,完整的Java应用环境实际上也是一个客户机/服务器环境,更确切地说是浏览器/服务器模型(即Browser/Server模型,简称Web模型)

public void run()

{

String line;

StringBuffer revline;

int len;

try

{

for(;;)

{

// Read a line

line = in.readline();

if(line == null) break;

// Reverse the line

len = line.length();

revline = new StringBuffer(len);

for(int i = len-1; i >=0; i--)

revline.insert(len-1-I;line.charAt(i));

// Write out the reverse line

out.println(revline);

}

catch(IOException e);

finally try client.close();

catch(IOException e2);

}

// End of run method

}

// End of Connection class

3、编写客户机类Java 程序

// Client.java

import java.io.*;

import java.net.*;

public class Client extends

{

public static final int Default_Port = 6543;

// 定义出错例程

public static final void usage()

{

System.out.println("Usage: Java Client []");

System.exit(0);

}

public static void main(String args[])

{

int port = Default_Port;

Socket s = null;

// 解析端口参数

if ((args.length != 1)&&(args.length != 2 )) usage();

if (args.length == 1)

port = Default_Port;

else

{

try port = Integer.parseInt(args[1]);

catch(NumberFormaatException e) usage();

}

try{

// 产生一个Socket ,通过指定的端口与主机通信。

s = new Socket(args[0], port);

// 产生用于发出和接收的文本字符流

DataInputStream sin = new DataInputStream(s.getInputStream());

PrintStream sout = new DataInputStream(s.getInputStream());

// 从控制台读入字符流

DataInputStream in = new DataInputStream(System.in);

// 返回连接的地址和端口

ystem.out.println("Connected to"+s.getInetAddress()+":"+ s.getPort());

String line;

For(;;)

{

// 显示提示符

System.out.print(" >");

System.out.flush();

// 读入控制台输入的一行字符

line = in.readline();

if (line == null) break;

// 将接收的文本行送至服务器

sout.println(line);

// 从服务器接收一行字符

line = sin.readline();

// Check if connection is closed(i.e. for EOF)

if(line == null)

{

System.out.println("Connection closed by server.");

Break;

}

// 在控制台上显示接收的字符

System.out.println(line);

}

// End of for loop

}

// End of try

catch(IOException e ) System.err.println(e);

// Always be sure to close the socket

finally

{

try if(s != null) s.close();

catch(IOException e2);

}

} // End of main

} // End of Client

运行该客户机程序时,必须以服务器主机名作为第一个参数,服务器端口号为第二个参数,其中服务器端口号可缺省。

网友评论
精品软件课程
更多 >
C++是一种静态数据类型检查的,支持多重编程... [详细]
C语言是一种面向过程的计算机程序设计语言。多... [详细]
Visual Basic是一种由微软公司开发... [详细]
Oracle Database,又名Orac... [详细]
Visual Basic.NET是从 Vis... [详细]
Visual C++微软公司的C++开发工具... [详细]