java自定义tcp网络编程_Java网络编程之TCP程序设计

在Java中使用Socket(套接字)来完成TCP程序的开发,使用此类可以方便的建立可靠的、双向的、持续的、点对点的通信连接。服务器端使用ServerSocket等待客户端的连接,,而每一个客户端都是用一个Socket对象表示。

1.ServerSocket类与Socket类

ServerSocket类主要运用在服务器端开发,用于接收客户端的连接请求。常用方法: 类型 方法 描述

构造方法 ServerSocket(int port) 创建绑定到特定端口的服务器套接字。

Socket accept() 侦听并接受到此套接字的连接。

InetAddress getInetAddress() 返回此服务器套接字的本地地址。

boolean isClosed() 返回 ServerSocket 的关闭状态。

void close() 关闭此套接字。

服务器端每次运行都要使用accept()方法等待客户端连接,此方法执行之后服务器端进入阻塞状态,直到客户端连接之后程序才向下继续执行。此方法返回Socket类型,每一个Socket都表示一个客户端对象。Socket常用方法: 类型 方法 描述

构造方法 Socket(String host, int port) 创建一个流套接字并将其连接到指定主机上的指定端口号。

InputStream getInputStream() 返回此套接字的输入流。

OutputStream getOutputStream() 返回此套接字的输出流。

void close() 关闭此套接字。

boolean isClosed() 返回套接字的关闭状态。

在客户端,程序可以通过Socket类的getInputStream()方法取得服务器的输出信息;在服务器端,可以通过getOutputStream()方法取得客户端的输出信息。

2.服务器向客户端输出

服务器端程序:

packageorg.demo.net;importjava.io.IOException;importjava.io.PrintStream;importjava.net.ServerSocket;importjava.net.Socket;public classHelloServer {public static voidmain(String[] args) {

ServerSocket server=null;

Socket client=null;

PrintStream out=null;try{

server=new ServerSocket(8888);

System.out.println("服务器运行,等待客户端连接");

client=server.accept();

String str="Hello!";

out=newPrintStream(client.getOutputStream());

out.println(str);

out.close();

client.close();

server.close();

}catch(IOException e) {

e.printStackTrace();

}

}

}

运行结果:

1288f9a374c954372128ce821b03075e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值