Welcome

首页 / 软件开发 / JAVA / 用Java Socket制作广播信使程序

用Java Socket制作广播信使程序2010-09-13简介

Java是一个强大的面向对象开发语言,支持很多功能,比如,通过Socket编程达到的C/S通讯,基于Windows的编程,基于CONSOLE的编程,还有数据库连接,图象和声音编程等。 Java多用在基于INTERNET的网络编程上,创建一些嵌入到HTML页面中的Applet小程序来实现。

在开始实际编写代码之前,为了使得概念更加清晰,需要提及几个重要的概念。广播信使(broadcast messenger)是要创建一个服务器,用来负责接收和响应来自客户机的网络消息。这个就叫做广播(Broadcasting),意思是发送数据包或者消息到所有的客户机。

这里使用的是服务器/客户机(C/S)框架,因为有一台计算机扮演服务器的角色来响应客户机的消息,所有其他的计算机都扮演客户机的角色,仅仅只是发送请求到服务器来执行它们的一些任务。Socket是连接计算机彼此的一个逻辑连接。要创建一个socket,需要提供一个端口号和一个主机IP地址/主机名。

多线程意味着一个进程的多个线程能够同时运行在分配给它们的同一个处理器上,就感觉好象只有进程在运行。所以,通过多线程技术,许多客户机可以连接服务器的同一个端口。线程是占有资源的进程或程序的一部分,比如文件,I/O等等,它们能够独立运行。

Java代码解释

首先,我们创建一个服务器,创建一个server和client类,并import下面几个文件:

import java.io.*;
import java.net.*;
import java.awt.*;

为server类设计一个interface使得从客户机到达的请求能够显示在一个window form里。一个简单server window设计如下:

Figure 1: 一个服务器窗口,显示所有输入和输出,客户机名和IP地址的日志。