java 客户端套接字_Java 利用套接字Socket实现简单的服务器与客户端通信

本文通过Java的Socket和ServerSocket类展示了如何构建一个简单的C/S程序,实现实时通信。客户端发送Time命令获取服务器时间,或者发送Exit命令终止连接。服务器端接收命令并相应地返回时间或关闭连接。
摘要由CSDN通过智能技术生成

我们要实现的具体功能是:

利用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值