几个概念:客户端 服务器 端口
①客户端
②服务器
③端口:客户端进入服务器的门(通俗解释~),有0-2^16个
目标:实现简单的客户端和服务器短的交互
准备工作:
①开启telnet:控制面板→程序→程序与功能→打开或关闭windows功能
②得到本机的IP:cmd输入ipcongif,在联网的情况下可以获得本机的IP值
步骤:
1.创建服务器:
java.net.ServerSocket 创建一个服务器对象
要捕捉异常:端口可能被占用或者超出端口范围
要有一个开放的端口
2.创建客户端:
客户端对象 java.net.Socket
创建了服务器后,服务器一直处于待机状态
服务器对象server的方法server.accept() 会返回一个Socket类型的对象当且仅当有客户端与服务器端相连接的时候才会执行
代码: 可以简单的理解为客户端连接上了服务器
Socket client = server.accept();
3.实现交互:输入流和输出流
因为要实现交流,需要输入输出流 通过client得到
输入流是用来:客户端得到的
输出流是用来:在服务器端输出的
4.测试:程序运行后,服务器端处于待机状态
开启cmd:telnet+IP+端口号 IP可以直接为127.0.0.1 127.0.0.1是回送地址,指本地机,一般用来测试使用
5.在关闭cmd但是未关闭程序时,程序会死循环输出-1
public class ChatServer {
/**
* 创建服务器对象
*/
public void creatServer(){
try {
//创建服务器对象,并开放2638端口,要捕捉异常
ServerSocket server = new ServerSocket(2638);
System.out.println("服务器创建成功");
//创建客户端
Socket client = server.accept();
InputStream ins = client.getInputStream();
OutputStream outs = client.getOutputStream();
String s = "Hello World!";
outs.write(s.getBytes());
//t 客户端读到的 t=13为回车键
int t = ins.read();
while(t!=13){
System.out.println("客户端输入"+ t);
t = ins.read();
}
if(t==13){
System.out.println("链接断开");
}
client.close();//链接断开
} catch (Exception e) {
e.printStackTrace();
}
}
}
用上述方法创建的服务器,只能在客户端输入一句话就断开,而且客户端收到的还是键盘的编码,不是输入的内容,因此作出改进,先要解决以下两个问题:
1.发出一条消息就退出:
设置服务器循环等待:可以设置一个标签flag,当其为0的时候就进入等待状态;
while(flag==0){
Socket client = server.accept();
}
2.解决服务器端收到的是数字而不是字符串的问题:
创建一个StringBuffer对象stb,它类似于一个String的缓冲区或者理解为可变的字符串,通过一个append方法,可以将字符添加到StringBuffer对象中去
输入流InputStream得到的是输入的键盘编码,是int类型的,将它强制转化为char类型之后,把它添加到stb的后面
/**
* 字符串的读取方法
* @param ins 获取键盘输入
* @return 返回键盘输入的字符串
*/
public String readString(InputStream ins){
try {
//创建一个字符串缓冲区
StringBuffer stb = new StringBuffer();
char c = 0;
while(c!=13){
int i;
i = ins.read();
c = (char)i;
stb.append(c);
}
//将StringBuffer类转化为String
//trim()是字符串的一个方法,去掉开始和结尾的空格
String temp = stb.toString().trim();
return temp;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}
}
分享到:
相关推荐
最简单的服务器和多客户端双向通信程序,压缩包内有SocketTool.exe程序,方便使用测试服务器和客户端进行通信。教程参见https://blog.csdn.net/ba_wang_mao/article/details/115672920
在这个“易语言源码最简单的FTP服务器.7z”压缩包中,我们主要讨论的是如何使用易语言来实现一个基础的FTP(File Transfer Protocol)服务器。 FTP是互联网上广泛使用的文件传输协议,允许用户从一台计算机(客户端...
QT C++创建HTTP服务,C++快速简单创建web服务器 QT快速提供Resful接口 C++创建Resful服务 C++快速提供get、post服务 C++实现HTTP服务 搭建HTTP服务 https://blog.csdn.net/weijia3624/article/details/139236610 ...
"最简单的FTP服务器软件"可能指的是一个轻量级、易于配置和管理的FTP服务程序,旨在为用户提供快速搭建FTP服务器的解决方案。这类软件通常面向不熟悉复杂网络设置的普通用户,旨在简化FTP服务器的设置和管理过程。 ...
在本文中,我们将深入探讨FTP服务器的基本概念,以及如何构建一个简单的FTP服务器,这与“最简单的FTP服务器代码”这个主题紧密相关。 FTP服务器的核心功能是接收来自客户端的连接请求,管理用户的访问权限,并处理...
【标题】:“最简单的Web服务器” 在IT领域,构建一个Web服务器是许多初学者和开发者的基本技能之一。这里提到的“最简单的Web服务器”是指基于Web OSGI框架实现的一个基础服务实例。Web OSGI(Web Oriented OSGi)...
7. **安装与配置**:HideAdmin可能提供简单易用的界面,使得非专业IT人员也能轻松上手,快速完成用户创建和配置。 8. **绿色软件**:从压缩包中的`!创e下载┆绿色软件天堂.URL`可以推测,HideAdmin可能是一款绿色免...
综上所述,"最简单最好用的服务器版ftp工具"应该具备易用、安全、功能丰富等特点,能够帮助用户轻松地完成远程服务器上的文件管理工作。而提供的“ftp.exe”文件可能是一个轻量级的FTP客户端程序,旨在简化上述操作...
【标题】"最简单的PHP服务器"指的是一个专为PHP程序调试设计的简易服务器软件。它不包含复杂的数据库功能,使得开发者能够专注于PHP代码本身的运行和调试,而不必处理额外的数据库配置和管理任务。 【描述】"不包括...
本文将详细解释如何创建基于Windows 2003 Server操作系统的Mdaemon邮件服务器,并配置DNS服务以确保邮件的正常收发。 首先,我们需要进行邮件服务器的基础建设,即安装操作系统。【步骤1】选择Windows 2003 Server...
创建一个FTP服务器意味着你可以让你的资源被其他人访问和下载,这对于团队协作、资源共享或者个人文件分享非常有用。下面我们将详细介绍如何搭建一个简单的FTP服务器以及相关的知识点。 一、FTP服务器的基本原理 ...
【标题】"Telnet服务器端最简单实例源码"提供了在Windows环境下构建基本Telnet服务的编程示例,适用于VC++6.0、7.0、8.0等开发环境。这个实例源码由Lei FAN制作,并可以通过邮件ielnaf@qq.com联系到作者。 【描述】...
这个"JAVA简单服务器源代码"提供了一个实例,展示了如何利用Java语言构建一个能够连接MySQL数据库并处理个人信息传输的服务器。让我们深入了解一下这个项目的核心知识点。 首先,我们需要理解Java服务器的基本结构...
本示例将深入讲解如何使用Python的socket库来实现一个最简单的Web服务器。这个服务器能够响应HTTP请求,并返回固定的内容,对于初学者理解Web服务器的工作原理非常有帮助。 首先,我们需要了解Web服务器的基本工作...
"基于node最简单最小化的web服务器"这个项目,就是利用Node.js的特性来创建一个基础且轻量级的HTTP服务器,这对于前后端分离的开发模式至关重要。 Node.js是一个开源的JavaScript运行环境,它让开发者能够在服务器...
Node.js创建最简单的HTTP服务器涉及的核心知识点可以分为以下几个部分: 1. Node.js基础介绍: Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它允许开发者使用JavaScript来编写服务器端脚本。Node.js...
本文档的标题是“最简单的 Web 服务器的代码 Java”,这表明本文档是一个关于使用 Java语言实现简单 Web 服务器的教程。 描述解析 本文档的描述是“最简单的 Web 服务器的代码 Java”,这进一步强调了本文档的主题...
在本文中,我们将深入探讨这个“世界上最简单的FTP工具”以及如何在局域网环境中使用FTP服务器。 FTP工具通常具有用户友好的界面,使得文件传输对非技术用户来说变得简单。它们通常包括基本功能,如登录到服务器、...
在本文档中,作者分享了如何最简单地访问 OPC 服务器的方法,主要分为两个部分:建立 OPC 服务器和访问 OPC 服务器。 1. 建立 OPC 服务器: - 首先,需要安装 OPC 服务器软件,作者使用的是 Kepware OPC V4.54。...
Xlight FTP服务器是一款备受推崇的轻量级FTP服务器软件,因其简洁的界面和易于操作的特点,被誉为“最好用”和“最简单”。它为个人和企业用户提供了一个高效且稳定的文件共享解决方案。 Xlight FTP服务器的主要...