网路课程设计-利用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 -