服务器:只是一个媒介,将所有的客户机连接到一起,它只起到传递消息的作用
客户机:也就是用户端,通过服务器实现与其他用户聊天等
简单的服务器和客户机 一对一
多人聊天室 同时启动多个客户机
需要注意的一点是,一旦服务器与客户机连接之后,两者之间是平等的,也就是说,读写消息流都一样
例如:有四个人 甲 乙 丙 丁 四个人
假设 甲是服务器
乙 丙 丁 三人是客户机(也就是用户)
如果乙 丙 丁 三人想互相联系,可以这样:
首先 乙 丙 丁 都先联系上甲
即 甲服务器方 创建连接对象即打开一个端口,循环等待监听 乙 丙 丁的连接进入
乙 丙 丁 客户机方创建连接端口Socket 其中传入参数服务器方的IP地址和端口号
服务器甲和客户机 乙 丙 丁分别通过端口得到输入输出流
这样 乙 丙 丁 和甲之间好像就有了一个相互通信的管道
如果 乙 丙 丁之间要互相通信可以这样:
即:客户机方只要有sendMsg(String msg)(发送消息的方法)就Ok了
如:乙把想说的话通过端口的输出流传送给服务器甲,
注意:甲方有readString() (读消息的方法)sendMsg(String msg) (写消息的方法)
甲通过读乙发送过来的消息 并将其发送给丙 和丁
丙 和 丁也一样 依此类推。
所有的客户机将写的消息先发送给服务器,服务器然后读消息,将读到的所有消息发送给所有客户,客户们再将所有消息添加到文本区JTextArea
服务器的功能是
读客户机发来的消息即客户机写消息发送给服务器,服务器再将从客户机写来的消息读一下将其发送给所有用户
基本构架是 有一个link按钮 有一个send按钮
消息输入框 JTextField
接收消息的文本区JTextArea
当点击link按钮时,实现客户机与服务器连接
当点击send按钮时,可以将消息输入框JTextField中的内容显示到接收消息的文本区JTextArea中
注意:读方法会阻塞,所以要将其放在一个线程中
客户机端只写不读
服务器端:ChatServer类
public class ChatServer{
public static void main(String args[]){
}
}
//注意:读的方法在一个线程里面,不在这个类里面
//创建服务器连接对象的方法
public void upServer(int port){
ServerSocket ss=new ServerSocket(port);
while(true){
//监听连接端口 注意:要循环监听
Socket client=ss.accept();
//由端口得到输入输出流
OutputStream ous=client.getOutputStream();
InputStream ins=client.getInputStream();
}
}
分享到:
相关推荐
### 客户机服务器交互模式的特点及应用 #### 一、实训任务与要求解析 **1. 了解客户机/服务器交互模式的特点** 客户机/服务器(Client/Server,简称C/S)模式是一种分布式计算模型,其中“客户机”负责发起请求,...
在IT领域,"客户机与服务器"模型是网络通信的核心概念,它定义了两种不同角色的计算机如何通过网络进行交互。在这个模型中,"客户机"(Client)是发起请求的一方,而"服务器"(Server)则是接收并响应这些请求的一方...
《WinCC服务器与客户机的配置与下载》 在工业自动化领域,西门子的WinCC(Windows Control Center)是一款广泛使用的监控与数据采集系统。本文档详细介绍了如何配置WinCC服务器与客户机,以便实现远程监控和数据...
首先,让我们理解客户机/服务器模型的基本工作原理。客户机启动一个连接请求,通常通过发送HTTP、FTP、TCP或其他协议的数据包到指定的服务器地址。服务器监听特定的端口,当收到请求时,它会处理请求并返回响应。这...
在"客户机服务器通信模拟"项目中,服务器端通常会先启动,监听特定的端口(如默认的9999),等待客户端的连接请求。这可以通过`ServerSocket`类来实现,创建一个服务器端的Socket实例并绑定到特定的IP地址和端口号上...
本文将深入探讨“客户机服务器代码”这一主题,包括客户端和服务器端的实现,以及如何使用TCP协议进行通信。 客户端是用户与服务交互的界面,而服务器端则是处理客户端请求并返回响应的程序。在聊天工具中,客户端...
【标题】:“聊天程序(客户机服务器)” 这个标题揭示了我们要探讨的是一个基于客户机-服务器架构的聊天应用程序。客户机-服务器模型是网络通信的基础,其中服务器作为服务提供者,而客户机则作为服务请求者。在这个...
tcp/ip 实验简单客户机服务器程序 tcp/ip 实验是计算机网络领域的一个重要实验,旨在让学生掌握tcp/ip 协议的基本概念和编程实现。下面是对给定文件的详细分析和知识点总结: tcp/ip 协议概述 tcp/ip 协议是一种...
学习"C++客户机服务器"涉及理解网络协议、套接字编程以及多线程/进程管理等多方面知识。通过实际的代码和工程文件,你可以更好地掌握这些概念,并应用于自己的项目中,实现高效、可靠的网络通信。
在计算机网络中,Linux服务器客户机程序设计是构建网络应用的核心...理解这些基本概念和函数的使用是开发Linux服务器和客户机程序的基础,通过它们,开发者可以构建复杂、健壮的网络应用程序,实现不同设备间的通信。
在讨论“wincc客户机服务器操作系统兼容表”这一主题时,我们首先需要了解WinCC(Windows Control Center)是西门子公司推出的一款集成在Microsoft Windows环境下的监控软件,主要用于过程可视化和自动化工程的监控...
在IT行业中,构建一个类QQ聊天工具的客户端与服务器系统是一项常见的编程挑战,尤其是在学习C++这门语言时。这个项目旨在帮助开发者理解和实践网络通信的基本原理,以及如何使用C++来实现这样的系统。让我们深入探讨...
3. **分布式计算**:在“分布式计算实验”中,多个客户机可能同时与同一服务器通信,或者服务器之间也可能互相通信,以完成大规模或复杂计算任务。这需要理解分布式系统的概念,如负载均衡、容错处理、数据一致性等...
本项目“TCP实现客户机/服务器聊天”利用C++编程语言和Microsoft Foundation Classes (MFC)库来构建一个简单的聊天应用,它演示了如何使用TCP进行客户端与服务器端的交互。 TCP是一种面向连接的、可靠的传输协议,...
这个"ex.tar.gz_客户机服务器"项目展示了如何使用C语言和流套接字实现简单的客户机-服务器通信,涉及网络编程基础、TCP套接字的使用、以及客户端和服务器端的交互逻辑。通过分析`ex2serv.c`和`ex2cli.c`的源代码,...
总的来说,实现DAYTIME服务的UDP客户机和服务器涉及对网络编程基础的理解,包括套接字API的使用、IP地址和端口的处理,以及UDP协议的特性。通过这样的实践,开发者能够更深入地理解网络通信的基本原理。
《WinCC服务器与客户机的配置与下载》 在工业自动化领域,西门子的WinCC(Windows Communication Center)是一款广泛使用的可视化系统,用于监控和数据采集。在分布式系统中,WinCC服务器与客户机的配置是至关重要...
总结,UDP客户机和服务器编程的核心在于理解UDP协议的特点和使用socket API进行网络通信。通过以上的设计和实现,可以构建一个基础的UDP通信系统,满足指定的功能需求。在实际应用中,可能需要根据具体需求进行性能...
在IT领域,服务器与客户机通信是网络应用的基础模型,广泛应用于各种系统和服务中。"简单服务器客户机"这一主题涵盖了计算机网络中的基础概念、协议和实现方式。下面,我们将详细探讨这一领域的核心知识点。 首先,...
本文讨论了基于网络监控程序开发的客户机/服务器工作模式,这是一种在TCP/IP网络通信中广泛应用的模式。...通过深入理解客户机/服务器模式的工作原理和技术细节,开发者可以创建出更加高效、可靠的网络监控解决方案。