Java 利用套接字Socket实现简单的服务器与客户端通信
我们要实现的具体功能是:
利用Socket类和ServerSocket类编写一个C/S程序,实现C/S通信。
客户端向服务器端发送Time命令,服务器端接受到该字符串后将服务器端当前时间返回给客户端;客户端向服务器端发送Exit命令,服务器端向客户端返回“Bye”后退出。
题目比较简单的,我们直接来看代码吧:
首先是服务器端的实现:
import java.net.ServerSocket;
import java.net.Socket;
import java.io.*;
import java.text.DateFormat;
import java.util.Date;//时间
//import java.util.Calendar;
public class Server {
public static void main(String args[]){
try{
ServerSocket server = new ServerSocket(11111);//创建服务器套接字
System.out.println("服务器启动完毕");
System.out.println("等待客户端连接...");
Socket socket = server.accept();//等待客户端连接
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));//获得客户端的输入流
//OutputStreamWriter out = new OutputStreamWriter(socket.getOutputStream());//获得客户端输出流
PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true);//获得客户端输出流)
if(socket.isConnected()){
System.out.println("客户端名称为"+socket.getInetAddress().getHostAddress()+" 连接成功!");
//out.write("连接成功\n");
out.println("连接成功");
}
while(true){
String str = reader.readLine();
if(str.equals("Time")){//客户端请求时间数据
Date date = new Date();
// Calendar cal = Calendar.getInstance();
System.out.println("客户端请求当前时间");
DateFormat format = DateFormat.getDateInstance();
//out.write(format.format(date));//格式化输出时间
out.println(format.format(date));
}
else if(str.equals("exit")){//退出
//out.write("bye");
out.println("bye");
System.out.println("连接断开");
break;
}
else{
System.out.println("数据:"+str);
}
}
}catch(IOException e){
e.pr
相关文档:
List的用法
List包括List接口以及List接口的所有实现类。因为List接口实现了Collection接口,所以List接口拥有Collection接口提供的所有常用方法,又因为List是列表类型,所以List接口还提供了一些适合于自身的常用方法,如表1所示。
表1 List接口定义的常用方法及功能
从表1可以看出,List接口提供的适合于自身的 ......
怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西:
首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java 2 Platform Standard
Edition,我们经常说到的JDK,就主要指的这个,它是三者的基 ......
之前51CTO曾发过一篇文章叫做《OSGi为什么重要:向模块化转移的主攻手
》,里面对于OSGi的优势进行了分析。不过,对于
究竟什么是OSGi,很多人仍然只有一个模糊的概念。本系列(你好,OSGi
)从基础开
始介绍了OSGi。本部分介绍OSGi是什么,以及OSGi容器的一些现状。(注:本文英文原文于08年3月发布在JavaWorld网站)
......
public String getCheckDateString(String str) {
Date date = new Date();//获取当前系统日期
SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");//时间格式
......