黑马程序员-------Java笔记--------网络编程(UDP与TCP基本步骤)
来源:互联网 发布:2015淘宝刷钻价格表 编辑:程序博客网 时间:2024/05/20 08:41
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
- 网络编程
- 用语言(java)实现多台计算机的通信
- 三大要素
- IP地址:网络每一台计算机的唯一标识
- 查看本机IP:ipconfig
- 查看网络是否有问题:ping+ip地址
- 端口:用于标识进程的逻辑地址
- 每个网络程序至少有一个逻辑端口,用于标识进程的逻辑地址
- 有效端口0-65535,其中0-1024系统使用或保留端口
- 协议:定义通信规则
- TCP(蓝牙,打电话,qq单聊)
- 建立连接通道
- 数据无限制
- 面向连接(三次握手)
- 可靠
- 速度慢
- UDP(qq群聊)
- 把数据打包
- 数据有限制
- 面向无连接
- 不可靠
- 速度快
- TCP(蓝牙,打电话,qq单聊)
- IP地址:网络每一台计算机的唯一标识
- InetAddress(IP的包装类)
- public staticInetAddress getByName(Stringhost)
- 成员方法
- IP地址:String getHostAddress()
- 主机名:String getHostName()
package day10;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetAddress;import java.net.SocketException;//udp发送端public class Udp1 {public static void main(String[] args) throws SocketException, IOException {//创建发送端socket服务对象DatagramSocket ds=new DatagramSocket();//创建数据,打包//DatagramPacket(byte[] buf, int length, InetAddress address, int port)String s="hello world";byte[] bys=s.getBytes();int lenth=bys.length;InetAddress ip=InetAddress.getByName("192.168.0.107");int port=8001;DatagramPacket dp = new DatagramPacket(bys,lenth,ip,port);//发送数据ds.send(dp);//释放资源ds.close();}}
package day10;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;//接收端public class Udp {public static void main(String[] args) throws IOException {//创建接收端Socket服务对象DatagramSocket ds = new DatagramSocket(8001);//创建数据包byte[] bys=new byte[1024];DatagramPacket dp=new DatagramPacket(bys,bys.length);//调用接收方法ds.receive(dp);//解析数据包打印在控制台String s=new String(dp.getData(),0,dp.getLength());String ip=new String(dp.getAddress().getHostAddress());System.out.println(ip+s);//释放资源ds.close();}}
- ************************************************************************************************
- TCP
package day10;import java.io.IOException;import java.io.InputStream;import java.net.Socket;public class TcpSocket {public static void main(String[] args) throws IOException {//创建客户端Socket对象连接Socket s=new Socket("192.168.0.107",8002);//获取输入流,读取数据InputStream is=s.getInputStream();byte[] bys=new byte[1024];int len=is.read(bys);System.out.println(new String(bys,0,len));//释放资源s.close();}}
package day10;import java.io.IOException;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class Tcpserver {public static void main(String[] args) throws IOException {//创建服务器端Socket对象ServerSocket ss = new ServerSocket(8002);//监听连接Socket s=ss.accept();//获取输出流,写入数据OutputStream ou=s.getOutputStream();ou.write("hello world".getBytes());//释放资源ss.close();}}
0 0
- 黑马程序员-------Java笔记--------网络编程(UDP与TCP基本步骤)
- 黑马程序员 网络编程 UDP与TCP
- 黑马程序员_网络编程UDP与TCP
- 黑马程序员—网络编程TCP与UDP简介
- 黑马程序员——Java网络编程(TCP和UDP)
- 黑马程序员--java基础--网络编程(UDP和TCP)
- 黑马程序员-网络编程TCP&UDP
- 黑马程序员------网络编程(TCP&UDP)
- 黑马程序员---网络编程(UDP、TCP)
- 黑马程序员---网络,tcp udp 笔记
- 黑马程序员--------JAVA基础---------UDP.TCP编程
- 黑马程序员_网络编程一(IP,TCP和UDP, DatagramSocket与DatagramPacket,TCP传输)
- 黑马程序员_网络编程1(IP,TCP和UDP,DatagramSocket与DatagramPacket,TCP传输)
- 黑马程序员-网络编程概述-网络模型-UDP-TCP
- java 网络编程 tcp黑马程序员学习笔记(4)
- java网络编程 tcp 黑马程序员学习笔记(11)
- 黑马程序员________Java中UDP和TCP网络编程学习笔记
- 黑马程序员_学习笔记第23天——网络编程TCP/UDP
- C++中的static关键字的总结
- 黑马程序员——java基础—网络编程
- 数据结构七:选择,冒泡,插入,希尔,快速排序实现
- JAVA_SE系列:03.使用javac命令编译java程序_使用java命令运行java程序
- [LeedCode OJ]#136 Single Number
- 黑马程序员-------Java笔记--------网络编程(UDP与TCP基本步骤)
- 第4章 字典
- UVa 10397 - Connect the Campus
- 请求转发和重定向
- activemq与mysql持久化
- Ext JS6框架各库文件的区别
- 黑马程序员——线程Thread二(线程安全)
- 【Leetcode】First Missing Positive
- Spring JdbcTemplate的batchUpdate中,没有看到conn.setAutoCommit(false)的操作