关于java中CS架构,创建服务器和客户端
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于java中CS架构,创建服务器和客户端
初学关于java中 C/S架构配置
概述C/S: Client/Server 架构,即服务器/客户端架构。
通过将任务合理分配到 Client 端和 Server 端,降低了系统的通讯开销,需要安装客户端才可进⾏管理操作。
优点:
( 1)界⾯和操作可以很丰富。
( 2)⼤部分数据保存在客户端,相对安全。
( 3)⼤部分功能都集成在客户端,只需从服务器下载少量数据,因此访问
速度较快。
缺点
( 1)升级维护⼯作量较⼤,每⼀个客户端都需要升级。
( 2)⽤户群固定。
由于程序需要安装才可以使⽤,因此不适合⾯向⼀些不
可知的⽤户。
创建服务器:
package com.bjpowernode.scoket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import .ServerSocket;
import .Socket;
public class MyServerSocket {
/**
* 创建服务器端
* @param args
*/
public static void main(String[] args) {
ServerSocket serverSocket = null;
Socket clientSocket = null;
BufferedReader br = null;
try {
//创建服务端套接字,并且绑定端⼝号
serverSocket = new ServerSocket(8080);
//开始监听⽹络,此时程序处于等待状态,接受客户端的消息
clientSocket = serverSocket.accept();
//接收消息
br = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
//打印消息
String temp = null;
while((temp = br.readLine()) != null){
System.out.println(temp);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
//关闭资源
if(br != null){
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(clientSocket != null){
try {
clientSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if(serverSocket != null){
try {
serverSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
创建客户端:
package com.bjpowernode.scoket;
import java.io.IOException;
import java.io.PrintWriter;
import .Socket;
import .UnknownHostException;
public class MySocket {
/**
* 创建客户端
* @param argss
*/
public static void main(String[] args) {
Socket clientSocket = null;
PrintWriter out = null;
try {
//创建客户端套接字,绑定IP地址和端⼝号
clientSocket = new Socket("localhost",8080);
//创建输出流对象
out = new PrintWriter(clientSocket.getOutputStream()); //发送消息
String msg = "Hello Word";
out.print(msg);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
if(out != null){
out.close();
}
if(clientSocket != null){
try {
clientSocket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
⼯程:
运⾏结果:。