通信的关键主要集中于客户/服务器关系的两端。客户请求执行某些操作时,通过客户端将请求发送给服务器,
服务器执行该操作,提供相关相应。一种通用的请求响应模型的实现在WWW浏览器和WWW服务器之间。当用户通过
浏览器(客户端)选择一个Web站点时,一个请求发送给相应的Web服务器,服务器在响应客户的请求时,通常发
送一个合适的HTML网页。
Java的java.net包中的类和接口提供了基于流套接字和数据报套接字的通信。基于流套接字的通信时应用程序
能够把网络互联是为I/O流,连接成功后,直接从连接对象得到输入输出流,程序从中读取数据如从文件中直接
读取一样。使用流套接字时,程序于另一进程建立连接,成功后,数据以连续流的形式在进程间发送。因此,
我们认为流套接字提供基于面向连接的服务,用于传输的协议就是常用的TCP(Transmission Control Protocol
,传输控制协议)。
数据报套接字则用于传输单独的数据包,通常在Internet上用来传输音频和视频。
用流套接字建立一个简单的服务器共包含五个步骤。第一步市创建一个ServerSocket对象,即调用ServerSocket
的构造函数:
ServerSocket server = new ServerSocket(port ,queueLength);
注册一个可用的端口,并指定能够等待连接到服务器的最多客户数目(即queueLength)。端口号是客户用来定位
服务器计算机上的对应的应用程序。如果队列(客户数)已满,则服务器拒绝客户的连接。
程序用一个Socket对象管理每个客户连接。接着第二步,程序调用SocketServer的方法accept,服务器无限期
监听客户连接企图:
Socket connection = server.accept(); 当与一个客户建立连接时,返回一个Socket对象。
第三步,获取输入输出流,服务器能够通过输入输出流发送接收字节,与客户进行通信。服务器Socket对象调用
getOutputStream()方法,得到OutputStream对象,调用他的write方法,就可以将消息以字节发送给客户。同样可以
得到InputStream,通过read方法读取客户发过来的消息。
第四步,处理阶段,客户和服务器通过输入输出流发送和接收的消息是以字节形式存在,在客户端和服务器端类中
编写方法以约定的规则对消息进行处理。
最后传输完成后,调用close方法关闭连接。
分享到:
相关推荐
本教程将详细介绍如何利用Python轻松建立一个本地服务器,让你在家就能模拟线上环境。 首先,我们需要理解什么是本地服务器。本地服务器是指在你的个人计算机上运行的一个服务器程序,它允许你在本地环境下访问和...
在IT领域,构建一个简单的HTTP服务器是初学者到专业开发者都会经历的一个阶段。这个项目名为“一个简单的、基本的http服务器”,使用了古老的VC6.0编译环境,并且是用纯C语言编写的,这使得它对于了解HTTP协议基础和...
Windows Server 2012 R2 提供了一种简单的方式来建立 FTP 服务器,以便用户可以远程访问和传输文件。 标题解释 Windows Server 2012 R2 服务器建立 FTP 访问,及无法与服务器建立连接相关问题解决 描述解释 该文档...
其中,连接是指Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,文件的建立标志着连接建立成功。请求是指Web浏览器通过socket向Web服务器提交请求,HTTP的请求一般是GET或POST命令,GET命令...
5. **数据加密**:为了保护传输的安全性,一些FTP服务器支持SSL/TLS加密,形成FTPS(FTP over SSL)或SFTP(SSH File Transfer Protocol),但简易服务器可能不提供此功能。 6. **资源限制**:管理员可以设置连接数...
总的来说,选择“最容易建立”的Web服务器软件意味着找到一个对新手友好、配置简单、社区支持丰富且能满足基本Web服务需求的解决方案。无论是Apache、Nginx还是IIS,都有其独特的优势和适用场景,选择哪一款,取决于...
6. **运维应用**:对于运维人员来说,这种简易服务器可以快速建立本地测试环境,便于部署、调试和优化网站应用,而无需等待漫长的服务器配置过程。此外,它也可以作为临时的文件服务器,方便团队成员共享文件。 总...
构建一个简单的HTTP服务器的C#程序实例。实现响应GET、POST请求。在服务端创建一个tcp通信来负责监听客户端连接。每次客户端发出请求后,我们根据请问报文来判断客户端的请求类型,然后根据不同的请求类型进行相应的...
首先,我们需要下载提供的压缩包文件,其中包含`ftpserversetup_10232.exe`,这是一个FTP服务器的安装程序。确保从可信来源获取并运行此安装文件,因为任何未经验证的下载都可能携带恶意软件。 安装过程通常是点击...
一个简单的RTP服务器,rtp部分是纯C实现,编码则是利用了FFmpeg库
- 在给定的标签“soft”中,虽然没有明确指定,但可以假设`http.exe`是一个简易的HTTP服务器程序,可能用于快速启动本地服务。 3. **使用http.exe**: - 假设`http.exe`是一个小型的命令行工具,用于启动HTTP...
在这个主题中,我们将探讨如何在Unix/Linux系统上使用socket编程技术来实现一个简单的FTP服务器和客户端。 一、FTP协议基础 FTP基于TCP/IP协议族,提供双向通信,允许用户从远程服务器上下载文件或上传文件到服务器...
本项目名为“android聊天及简易服务器”,旨在创建一个简单的聊天系统,它包含了Android客户端、Windows服务器端以及一个模拟的机器人,通过TCP连接进行通信。下面我们将深入探讨这个项目涉及的关键技术点。 首先,...
在这个“一个简单的xmpp服务器实现”项目中,我们可以推测它是一个用某种编程语言实现的轻量级XMPP服务器,可能包含基本的用户注册、登录、发送接收消息以及在线状态管理等功能。项目文件名为“sptalk-master”,...
在这个主题中,我们主要讨论的是一个FTP服务器端和一个简易的FTP客户端的实现。虽然代码可能存在一些问题,但它们仍然可以用于基本的连接测试,帮助开发者理解FTP的工作原理以及如何构建自己的FTP应用。 FTP服务器...
**域的概念**在Serv-U中,一个运行的引擎可以支持多个“虚拟”FTP服务器,每个称为一个“域”。每个域拥有独立的用户、组和设置。初次运行时,设置向导将引导创建首个域和用户账号。 **服务器、域和用户的关系**...
这段代码首先使用`sp_addlinkedserver`存储过程创建了一个名为`10.149.32.100`的链接服务器,并指定了提供者为`sqloledb`,这意味着远程服务器也运行着SQL Server。接着通过`sp_addlinkedsrvlogin`存储过程配置了...
但是,通过“简易的IIS服务器”,我们可以快速搭建一个无需安装的ASP调试环境。 这个简易IIS服务器的出现,极大地简化了开发者的工作流程,使得在没有正式IIS环境的情况下,也能进行ASP程序的开发和测试。它不需要...
【简易服务器】是一个针对新手程序员设计的教程项目,旨在帮助初学者理解服务器编程的基本概念和实现方式。这个项目使用了C#编程语言,涉及到的核心知识点包括C#的基础语法、网络编程以及通信协议。 首先,我们要...
这个FTP服务器是用C语言开发的,其特点是界面精美,易于使用,还有信息流量统计。整个FTP服务器就是一个EXE... 1、建立简单FTP服务器 2、用于局域网,互相点对点传送文件 3、建立临时FTP服务器,供大家临时下载文件等