网络编程

来源:互联网 发布:网站如何优化排名 编辑:程序博客网 时间:2024/06/14 17:00

一:UDP编程

.Inetaddress类该类没有构造方法,表示的是互联网协议(ip)地址

常用方法:

public static InetAddress getByName(String host)throws UnknownHostException在给定主机名的情况下确定主机的 IP 地址Inetaddress address=Inetaddress.getByName("ip地址或者主机名");public String getHostName()获取此 IP 地址的主机名。 String ip=address.getHostName();DatagramSocket()          构造数据报套接字并将其绑定到本地主机上任何可用的端口。public DatagramSocket(int port)        创建一个UDP Socket对象DatagramPacket(byte[] buf, int length)         构造 DatagramPacket,用来接收长度为 length 的数据包。DatagramPacket(byte[] buf, int length, InetAddress address, int port)         构造数据报包,用来将长度为 length 的包发送到指定主机上的指定端口号。

一个类没有构造方法:
(1)该类的成员变量及方法都是静态的
(2)单例模式
(3)该类中某些静态方法返回了该类的示例

UDP开发步骤:(发送端)1)创建UDP协议发送端的Socket对象2)创建数据报包:通过这个数据包将数据发送到接收端3)调用UDP协议发送端发送的方法4)关闭资源(接收端) * 1)创建接收端的Socket对象 * 2)创建一个数据报包接收发送端发送来的数据报包(接收容器) * 3)接收数据,调用DataScoket类中的接收的方法来接收数据包 * 4)解析数据报包里面的实际数据,显示在控制台上 * 5)关闭资源
UDP编程代码示例:发送端;public class Send {    public static void main(String[] args) throws IOException {        DatagramSocket ds = new DatagramSocket();        InetAddress address = InetAddress.getByName("192.168.1.155");        byte[] buffer = "UDP I am coming".getBytes();        DatagramPacket dp = new DatagramPacket(buffer, buffer.length, address, 12345);        ds.send(dp);        ds.close();    }}
UDP编程代码示例;接收端:public class Receive {    public static void main(String[] args) throws IOException {        DatagramSocket ds = new DatagramSocket(12345);        byte[] buf = new byte[1024];        DatagramPacket dp = new DatagramPacket(buf, buf.length);        ds.receive(dp);        byte[] data = dp.getData();        int length = dp.getLength();        System.out.println(new String(data, 0, length));    }}

二:TCP编程

客户端常用方法Socket(InetAddress address, int port)           创建一个流套接字并将其连接到指定 IP 地址的指定端口号。void close()           关闭此套接字。 InputStream getInputStream()           返回此套接字的输入流。 OutputStream getOutputStream()           返回此套接字的输出流。  void shutdownOutput()//(形象理解)该方法在发送数据时候作为结束标志一样使用           禁用此套接字的输出流。
服务器端常用方法ServerSocket(int port)           创建绑定到特定端口的服务器套接字。Socket accept()           侦听并接受到此套接字的连接。  void close()           关闭此套接字。  InetAddress getInetAddress()           返回套接字连接的地址。  
TCP编程开发步骤:(客户端)1)创建客户端的socket对象 (客户端套接字流的形式)2)获取通道的内流(输出流)3)使用输出流对象写数据4)关闭客户端的Socket对象(服务器端)1)创建服务器端的socket对象,指定端口2)服务器端需要监听客户端的连接3)获取通道内的输入流4)将数据获取到并显示到控制台5)关闭服务器端的socket资源
//客户端public class Client {public static void main(String[] args) throws Exception {    Socket s=new Socket("192.168.1.155", 12345);    OutputStream os = s.getOutputStream();    os.write("Tcp I am Coming".getBytes());    s.close();}}
//服务器端public class Server {public static void main(String[] args) throws IOException {    ServerSocket ss=new ServerSocket(12345);    Socket s=ss.accept();    InputStream is = s.getInputStream();    byte[] buf=new byte[1024];    is.read(buf);    System.out.println(new String(buf,0,buf.length));}}
原创粉丝点击