您的位置:首页 > 汽车 > 新车 > 什么是网络营销直播_常州网站建设推广平台_免费的大数据分析平台_接广告的网站

什么是网络营销直播_常州网站建设推广平台_免费的大数据分析平台_接广告的网站

2025/4/29 10:51:34 来源:https://blog.csdn.net/u012441595/article/details/147444881  浏览:    关键词:什么是网络营销直播_常州网站建设推广平台_免费的大数据分析平台_接广告的网站
什么是网络营销直播_常州网站建设推广平台_免费的大数据分析平台_接广告的网站

概述

什么是网络编程?

在这里插入图片描述

Java中提供解决方案

在这里插入图片描述

基本通信架构CS/BS

在这里插入图片描述
在这里插入图片描述

通信三要素

在这里插入图片描述
在这里插入图片描述

IP地址-InetAddress

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

InetAddress

在这里插入图片描述

// 目标:
// 1.获取本机ip对象
InetAddress ip = InetAddress.getLocalHost();
System.out.println(ip.getHostAddress());
System.out.println(ip.getHostName());// 2.获取指定ip对象
InetAddress ip2 = InetAddress.getByName("www.baidu.com");
System.out.println(ip2.getHostAddress());
System.out.println(ip2.getHostName());// 3.判断本机与改主机是否联通:ping
boolean reachable = ip2.isReachable(5000);// 可做预警
System.out.println(reachable);

端口号

在这里插入图片描述

2协议UDP/TCP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

UDP

UDP通信

在这里插入图片描述

DatagramSocket

在这里插入图片描述
在这里插入图片描述

public class Server {public static void main(String[] args) throws Exception {// 目标:服务端// 1.创建接收端DatagramSocket socket = new DatagramSocket(8888);// 2.创建数据包对象(接收数据)byte[] bytes = new byte[1024*64];DatagramPacket packet = new DatagramPacket(bytes, bytes.length);// 3.接收数据(接收韭菜)socket.receive(packet);// 4.把数据输出// 获取本轮传输的数据多少字节int len = packet.getLength();String msg = new String(bytes, 0 , len);System.out.println(msg);// 获取发送端的ip地址与端口InetAddress ip = packet.getAddress();int port = packet.getPort();System.out.println(ip.getHostAddress() + ":" + port);// 5.关闭资源socket.close();}
}
public class Client {public static void main(String[] args) throws Exception {// 目标:客户端// 1.创建发送对象DatagramSocket socket = new DatagramSocket();// 2.创建数据包对象String msg = "你好,我是客户端";byte[] data = msg.getBytes();DatagramPacket packet =new DatagramPacket(data, data.length, InetAddress.getLocalHost(), 8888);// 3.发送数据socket.send(packet);// 4.关闭资源socket.close();}
}

UDP多发多收

TCP

TCP通信

在这里插入图片描述

Socket

在这里插入图片描述
在这里插入图片描述

/*** 目标:完成TCP通信:实现1发1收*/
public class Client {public static void main(String[] args) throws Exception {System.out.println("客户端启动成功!!!");// 1.创建客户端对象Socket socket = new Socket("127.0.0.1", 8888);// 2.从通信管道中获取字节输出流,用来发送数据给服务器OutputStream os = socket.getOutputStream();// 3.把低级输出流转为数据输出流DataOutputStream dos = new DataOutputStream(os);dos.writeUTF("在一起,好吗?");dos.close();// 4.释放资源socket.close();}
}
/*** 目标:TCP服务端开发*/
public class Server {public static void main(String[] args) throws Exception {System.out.println("服务端启动成功!!!");// 1.创建一个服务器对象,绑定8888端口ServerSocket ss = new ServerSocket(8888);// 2.等待客户端连接Socket socket = ss.accept();// 3.从通信管道中获取字节输入流,读取数据InputStream is = socket.getInputStream();// 4.把字节输入流包装成字符输入流DataInputStream dis = new DataInputStream(is);// 5.读取数据String msg = dis.readUTF();System.out.println(msg);// 获取客户端信息System.out.println(socket.getRemoteSocketAddress());// 关闭资源dis.close();socket.close();}
}

TCP多发多收

在这里插入图片描述

TCP同时接收多个客户端(多线程)

在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com