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接口提供的适合于自身的 ......
最近公司碰到需要用图表的形式显示一些数据,我就开始到网上查询,查到了jfreechart和amcharts,这两者我都实现过了,jfreechart最后生成图片,但是图片效果不是我想要的,然后又研究amcharts 它的效果确实很好,而且官方网站上还有好些例子可供下载,网址是:www.amcharts.com
(想要完成一个amcharts图形需要swfobjects. ......
JAVA学习路线图
在开始之前有必要再讨论一下J2ME,J2SE,J2EE这些概念。J2ME,The
Micro Edition of the Java 2 Platform。主要用于嵌入式Java,如手机,PDA等等。J2SE,Java 2
Platform,Standard Edition,我们通常所说的JDK(Java Development
Kit)包含在此,是J2EE的基础。J2EE,Java 2 Platform,Enterprise
......
简化图:
Java平台提供了一个全新的集合框架。“集合框架”主要由一组用来操作对象的接口组成。不同接口描述一组不同数据类型。
Java 2集合框架图
集合接口:6个接口(短虚线表示),表示不同集合类型,是集合框架的基础。
抽象类:5个抽象类(长虚线表示),对集合接口的部分实现。可扩展为自定义集合类。 ......
面试中遇到的问题,大家共同学习!!
Java工厂模式
Java工厂模式看了这么多关于工厂模式的讲解,还是觉得这篇文章讲的好理解,贴出来和大家分享分享。
一、引子
话说十年前,有一个****户,他家有三辆汽车——Benz奔驰、Bmw宝马、Audi奥迪,还雇了司机为他开车。不过,****户坐车时总是怪怪的:上Benz车后 ......