网路课程设计-利用Java socket实现双机通信
计算机科学与技术学院
课程设计报告
课程名称 计算机网络
设计题目 利用Java socket 实现双机通信
学生姓名
学 号
专业班级
指导教师
计算机网络课程设计
目 录
摘要 - 3 -
1 理论基础 - 3 -
1.1 套接字通信- 3 -
1.2 JAVA SOCKETS 编程概述:- 4 -
1.3 JAVA 有关概- 4 -
1.3.1 Java 中输入/输出流概念 - 4 -
1.3.2 Java 语言 - 5 -
1.3.3 与Socket 有关的java 类: - 6 -
2 客户机/服务器通信的实现: - 7 -
2.1 服务器端的开发- 7 -
2.2 客户端的开发- 8 -
3 程序的实现 - 8 -
3.1 服务器端的实现- 8 -
3.1.1 - 8 -
3.1.2 代码如下 - 8 -
3.1.3 运行结果: - 9 -
3.2 客户端的实现:- 10 -
3.2.1 - 10 -
3.2.2 代码如下: - 10 -
3.2.3 运行结果如下:- 11 -
4 打包发布- 11 -
结束语……………………………………………………………………-12-
参考文献…………………………………………………………………-12-
- 2 -
计算机网络课程设计
利用Java Sock 实现双机通信
摘要:Socket(套接字)是一种基于 TCP/IP 的编程接口。它采用客户/服务器通信机制,使
客户端和服务器端通过Socket 接口在网络上实现连接和数据交换。它提供了一系列系统调
用,使用户可以方便地实现TCP 和UDP 等多种网络协议的通信。它使用户可以在网络协议
上工作而不必对该网络协议有非常深入的了解。这样编写的程序可被迅速移植到任何支持
Socket 的网络系统中去。
本文通过主要利用 Java Socket 来实现双机通信,实现一个简单的服务器,客户端聊
天通信工具。并对Java Socket 的实现进行简单的分析和讲解,通过本文以达到对Socket
的原理又一个较清晰的认识。
关键词:套接字、 SocketServer 类、客户机/服务器模式
1 理论基础
1.1 套接字通信
套接字(Socket)是网络通信的基本单元操作,又被称作端口,通常用来实现客户方向和
服务器的连接。网上的两个程序通过一个双向的通信连接实现数据的交换,在实现双向通
信前链路的每一个端都建立一个Socket,通过对Socket 的读/写操作实现网络通信功能。
套接字是网络通信的一个标准。套接字分为以下三种类型:
(1)流套接字
这是最常用的套接字类型,TCP/IP 协议中的TCP 协议用此类接口,它提供面向连接的
(建立虚电路),无差错的、发送先后顺序一致的,包长度不限和非重复的网络信包传输。
(2)数据报套接字
TCP/IP 协议族中的UDP 协议使用此类接口,它是无连接的服务,以独立的信包进行网
络传输,信包最大长度为 32KB,传输不保证顺序性、可靠性和无重复性,它通常用于单个
报文传输或可靠性不重要的场合。
(3)原始数据包套接字
提供对网络下层通信协议的直接访问,它一般不是提供给普通用户的,主要用于开发
新的协议或者用于协议教隐蔽的功能。
所有Socket 通信程序的基本结构都是一样的,主要有创建Socket、打开连接到Socket
的输入流和输出流、按照一定的协议对Socket 进行读写操作。关闭 Socket 这四个步骤,
通过这四个步骤可以完成一般的Socket 通信。
- 3 -