【Java】网络编程(NIO/BIO)
2021-03-28 09:25
标签:mac new soc cep reader 转换 output 发送 length 【Java】网络编程(NIO/BIO) 标签:mac new soc cep reader 转换 output 发送 length 原文地址:https://www.cnblogs.com/jwnming/p/13634584.html网络编程
1).认识网络名词
IP地址:表示网络上的一台主机,逻辑地址
MAC地址:表示网络上的一台主机,物理地址
端口:标识主机中的一个进程 0 – 65535, 1024一下为预留端口
协议:通信双方之间的约定和标准
物理层 –> 数据链路层 –> 网络层 –> 传输层 –> 会话层 –> 表示层 –> 应用层
传输层:
TCP:传输控制协议,面向连接的,是可靠的 (Transmission Control Protocol)
UDP:用户数据报协议,非面向连接的,不可靠的 (User Datagram Protocol)
2).TCP编程(Transmission Control Protocol)
TCP: Socket 编程(套接字) ServerSocket Socket (服务器端用两个)
java包:java.net.*;
用法:如下
--------------------------------------------------------------
TCP: 模拟客户端与服务器端的通信代码:先启动服务器端
客户端(Client):
public static void main(String[] args) throws Exception {
Socket s = new Socket(“192.168.77.13”, 9000); //向服务器发起连接,参数分别是ip和端口
InputStream is = new s.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
for(int i = 1; i
3).UDP编程(User Datagram Protocol)
UDP:Socket 编程 DatagramSocket DatagramPacket
java包:java.net.*;
用法:如下
--------------------------------------------------------------
UDP: 模拟客户端与服务器端的通信代码:先启动服务器端
客户端(Client):向服务器端送一封信
public static void main(String[] args) throws Exception {
//先发一封信
DatagramSocket ds = new DatagramSocket();
String str = “这里是客户端的信”;
byte[] b = str.getBytes(); //可以设置编码方式
DatagramPacket sendLetter = new DatagramPacket(b, 0, b.length, InetAddress.getLocalHost(), 9090);//发送信,前三个参数为信的内容,后两个参数分别为本地IP和送信端口端口
ds.send(sendLetter);
//接受30封信
for(int I = 0; I
4).URL编程(Uniform Resource Locator)
URL编程是在应用层, 统一资源定位器
格式(字符串):协议名://主机地址:端口号/相对路径
java包 java.net.*;
用法:
public static void main(String[] args) throws Exception {
URL url = new URL(“http://192.168.77.13/corejava.txt”);//创建url
URLConnection uc = url.openConnection(); //打开连接
InputStream is = uc.getInputStream(); //读取
BufferedReader br = new BufferedReader(new InputStreamReader(is));//桥转换
while(true) {
String str = br.readLine();
if(Str == null)
break;
System.out.println(str);
}
in.close();
}
上一篇:【Java】反射机制
下一篇:算法之ThreeSum篇
文章标题:【Java】网络编程(NIO/BIO)
文章链接:http://soscw.com/index.php/essay/68979.html