网络编程
来源:互联网 发布:网站如何优化排名 编辑:程序博客网 时间: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));}}
阅读全文
0 0
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- 网络编程
- Spring第一天
- LSD(Line Segment Detector) 直线段检测算法
- 机房登录
- Java IO(03) File类
- 机房重构--七层登录
- 网络编程
- objective-c 编程基础(3.7 Foundation框架之字典)
- MVC框架
- Android判断是否为Wifi
- 文本框输入总是从中间输入,并且只能输入一行
- java编写一个计算器
- 第五届“图灵杯”NEUQ-ACM程序设计大赛 F题 字符串处理哈夫曼树
- 基于窗口与基于速率的拥塞控制
- 树莓派(RPi) CentOS7安装配置PHP7