河南理工大学
计算机科学与技术
课程设计
报告 200 8 - 200 9 学年第 一 学期
课程名称
计算机网络
设计题目 利用Java socket实现双机通信
学生 李 飞
学 号 320709010225
专业班级 计算机本07-2班
指导教师 刘沛骞
2008 年 9 月 13 日
目 录
摘要 - 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-
利用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通信。
1.2 JAVA Sockets编程概述:
用Java语言编程实现Socket通信,其原理与使用其他语言基本相同,不同之处是:(1)java是跨平台的编程语言,所以用java编写的Socket通信程序可以
工作在所有支持TCP/IP协议和java的软硬件平台上;(2)因为Java是面向对象的语言,所以在编程中需要使用一些与Socket有