3.Socket单向通信--服务器端

该程序是一个Java编写的Socket服务器端应用,用于接收客户端连接并显示客户端发送的内容。通过创建ServerSocket监听8902端口,当客户端连接时,读取其输入流并打印在控制台上,实现单向通信。在异常处理中,确保了资源的正确关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//*******************************//
//*2014年7月3日10:33:55*//
//*本程序主要功能:*//
//*服务器端:*//
//*读取客户端内容,并显示至控制台中*//
//*******************************//

import java.net.*;//导入java.net包
import java.io.*;//导入java.io包

public class TestSocketServer {//创建类TestSocketServer
	
	private BufferedReader reader;//创建BufferedReader对象
	private ServerSocket server;//创建ServerSocket对象
	private Socket socket;//创建Socket对象
	
	
	void getserver()
	{
		try
		{
			server = new ServerSocket(8902);//实例化Socket对象
			System.out.print("The ServerSocket has been created successfully\n");//输出信息
			while(true)//如果套接字是连接状态
			{
				System.out.print("Waiting for Client's Connection\n");//输出信息
				socket = server.accept();//等待客户机连接
				reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));//实例化BufferedReader对象
				getClientMessage();//调用getClientMessage方法
			}	
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
	}
	private void getClientMessage()
	{
		try
		{
			while(true)
			{
				System.out.println("客户机:" + reader.readLine());//读取客户端发送的信息
			}
		}
		catch(Exception e)
		{
			e.printStackTrace();
		}
		finally
		{
			try
			{
				if(reader != null)
				{
					reader.close();//如果输入缓冲流打开了,则关闭输入缓冲流
					}
				if(socket != null)
				{
					socket.close();//如果Socket打开了,关闭Socket
				}
			}
			catch(Exception e)
			{
				e.printStackTrace();
			}
		}
	}
	
	public static void main(String[] args)
	{
		TestSocketServer tss = new TestSocketServer();//实例化本类
		tss.getserver();//调用本类的getserver方法
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值