WEB开发网
开发学院软件开发Java java中实现UDP协议编程 阅读

java中实现UDP协议编程

 2012-09-12 16:39:49 来源:WEB开发网   
核心提示: ServerSocket:编写TCP网络服务程序,首先要用到java.net.ServerSocket类用以创建服务器Socket构造方法:ServerSocket(int port):创建绑定到特定端口的服务器套接字ServerSocket(int port, int backlog):利用指定的backlog(服

 ServerSocket:编写TCP网络服务程序,首先要用到java.net.ServerSocket类用以创建服务器Socket
构造方法:
ServerSocket(int port):创建绑定到特定端口的服务器套接字
ServerSocket(int port, int backlog):利用指定的backlog(服务器忙时保持连接请求的等待客户数量),创建服务器套接字并将其绑定到指定的本地端口号。
ServerSocket(int port, int backlog, InetAddress bindAddr):使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。
Socket:客户端要与服务器建立连接,必须先创建一个Socket对象
常用构造方法
Socket(String host, int port):创建一个流套接字并将其连接到指定主机上的指定端口号。
Socket(InetAddress address, int port):创建一个流套接字并将其连接到指定 IP 地址的指定端口号。

服务器端程序调用ServerSocket类中的accept()方法等待客户端的连接请求,一旦accept()接收了客户端连接请求,该方法返回一个与该客户端建立了专线连接的Socket对象,不用程序去创建这个Socket对象。建立了连接的两个Socket是以IO流的方式进行数据交换的,Java提供了Socket类中的getInputStream()返回Socket的输入流对象,getOutputStream()返回Socket的输出流对象

创建一个TCP服务器端程序的步骤:

1.建立一个服务器socket并开始监听.

2.使用accept()方法取得新的连接.

3.建立输入和输出流.

4.在已有的协议上产生会话.

5.关闭客户端流和socket.

6.回到第二步或者到第七步.

7.关闭服务器socket

ServerSocket server=new ServerSocket(port)

Socket s=server.accept();

ObjectInputStream in=new ObjectInputStream(s.getInputStream());

ObjectOutputStream out=new ObjectOutputStream(s.getOutputStream());

out.close();

in.close();

s.close();

创建一个TCP客户端程序的步骤:

1).创建Socket

2). 获得I/O流

3). 对I/O流进行读写操作

4). 关闭I/O流

5). 关闭Socket

Socket connection = new Socket(127.0.0.1, 7777);

ObjectInputStream input=new ObjectInputStream(connection.getInputStream());

ObjectOutputStream utput=new ObjectOutputStream(connection.getOutputStream());

input.close();

output.close();

connection.close();

注意:

1、不要在服务程序中出现static属性,因为是所有客户端共享的;

2、不要从两个Socket中创建流用于通讯,会出现通讯错误,原因:流的头不一样

3、不要从一个客户端多次创建TCP链接,那就成了两个客户端了;

4、要控制链接数,否则资源可能不够用,使用方法如下:

public ServerSocket(int port,int backlog) throws IOException

backlog:链接数

Tags:java 实现 UDP

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接