java socket datagramsocket_JAVA与网络开发(TCP:Socket、ServerSocket;UDP:DatagramSocket、DatagramPacket;多线程的C...

本文详细介绍了JAVA中TCP协议的Socket和ServerSocket类的使用,包括构造函数、通信方法以及四次挥手关闭连接。同时,讲解了UDP协议下DatagramSocket和DatagramPacket的应用,涉及发送、接收数据报文的操作。此外,还涵盖了面向套接字编程的基本步骤,以及多线程C/S通讯和RMI的初步概念。
摘要由CSDN通过智能技术生成

通过TCP建立可靠通讯信道

1)为了对应TCP协议里的客户端和服务器端,Socket包提供了Socket类和ServerSocket类。

2)Socket类构造函数及相关方法

Public Socket();

public Socket(InetAddress address,int port);//本机IP和端口

public Socket(Striing host,int port);//本机IP和端口

public void connect(SocketAddress endpoint);//将本socket连接到endpoint指定的主机上

public void bind(SocketAddress bindpoint);//将本socket绑定到bindpoint指定的主机

public InputStream getInputStream();、public OutputStream getOutputStream();//获取通信输入流和输出流

public void close();//4次握手FIN的封装

public InetAddress getLocalAddress();、public int getPort();//获取本socket对应主机(即本机)的IP和端口

3)ServerSocket类构造函数及相关方法

public ServerSocket();

public Socket(int port);//本服务器socket,端口有参数指定,ip即本地

public Socket accept();//返回描述客户端链接句柄的socket类对象

public void bind(SocketAddress bindpoint);//将本ServerSocket绑定到bindpoint指定的主机

public void close();

public InetAddress getInetAddress()、public int getLocalPort();//获取本机ip和端口

通过UDP高效的发送数据报文

1)DatagramSocket类封装了发送和接受数据报文的方法,DatagramPacket类封装了“数据报文”的属性。

2)DatagramSocket类构造函数及相关方法

Public DatagramSocket();

public DatagramSocket(int port);//本机端口

public DatagramSocket(int port,InetAddress address,);//本机IP和端口

void connect(InetAddress address,int port);//

void send(DatagramPacket p);//

void receive(DatagramPacket p);//

void close();//

InetAddress getLocalAddress();、public int getPort();//

void setSoTimeout(int timeout);//

int getSoTimeout();//

3)DatagramPacket类构造函数及相关方法

DatagramPacket(byte[] buf,int length);//

DatagramPacket(byte[] buf,int length,InetAddress address,int port);//报文长度与报文目的地址

byte[] getData();、int getLength();//配合使用    void setData(byte[] buf);void setLength(int length);//配合使用

InetAddress getAddress();//获取目的主机地址        void setAddress(InetAddress iaddr);//

int getPort();//获取目的主机端口          void setPort(int port);//

面向套接字编程

1)使用套接字实现基于TCP协议的服务器和客户端程序

服务器主要操作:

用一个端口实例化ServerSocket,从而监听该端口的链接请求;

调用accetp方法,接受客户端的连接请求;

利用accept方法返回的客户端socket对象,进行读写IO的操作;

通讯完成,关闭打开的流和socket对象。

客户端主要操作:

用服务器ip和端口初始化socket对象;

调用connect方法,向服务器发起连接请求;

将要发送给服务器的内容填充到IO对象中,如BufferedReader、PrintWriter;

利用getInputStream和getOutputStream方法,向服务器发送和接受数据;

通讯完成,关闭打开的IO对象和socket。

2)使用套接字连接多个客户机————基于多线程的C/S通讯

3)UDP协议与传输数据报文

Java远程方法调用(RMI)开发概述————透明的调用远端方法

1)RMI,远程方法调用,可以用来构建Java应用程序间的分布式模型,它允许网络主机之间可以相互地无障碍地调用对方的类和方法,这是实现分布式的基础。把服务的调用者称为RMI客户端,把服务的提供者称为RMI服务器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值