做外单都有什么网站,晓风彩票网站建设源代码授权,南宁网站建设王道下拉強,免费域名网站搭建IP
ip地址#xff1a;
在计算机网络中#xff0c;唯一确定一台计算机127.0.0.1#xff1a;本机回环地址
ip地址的分类#xff08;IPV4#xff09;:
分为A类、B类、C类地址#xff0c;其区别在于A、B、C类子网的个数和所包含的地址个数不同。局域网网段10.0.0.0#…IP
ip地址
在计算机网络中唯一确定一台计算机127.0.0.1本机回环地址
ip地址的分类IPV4:
分为A类、B类、C类地址其区别在于A、B、C类子网的个数和所包含的地址个数不同。局域网网段10.0.0.010.255.255.255、172.16.0.0172.31.255.255、192.168.0.0192.168.255.255不会在公网中出现以及一些预留地址在对应子网中第一个ip地址表示整个子网的地址最后一个ip是这个子网的广播地址
//测试
public class Test1 {public static void main(String[] args) throws UnknownHostException {//使用ipInetAddress inetAddress1InetAddress.getByName(127.0.0.1);System.out.println(inetAddress1);//使用域名InetAddress inetAddress2InetAddress.getByName(www.csdn.net);System.out.println(inetAddress2);//LocalHost获取本机回环ip127.0.0.1InetAddress inetAddress3InetAddress.getLocalHost();System.out.println(inetAddress3);//System.out.println(inetAddress2.getAddress());//System.out.println(inetAddress2.getCanonicalHostName());System.out.println(inetAddress2.getHostAddress());//ipSystem.out.println(inetAddress2.getHostName());//域名}
}端口
不同进程监听不同的端口UDP和TCP协议端口号独立可以同时有UDP和TCP的80端口端口号0~65535其中1023以内端口为约定端口 比如80端口为http服务1024~49151分配用户或者应用程序剩下是动态、私有端口
netstat -ano #查看所有端口
netstat -ano|findstr XXXXX #查看指定的端口
tasklist|findstr XXXX #查看指定端口发进程网络通信协议
各个端间通信的标准使得接收方和发送方对数据没有歧义同时规定端间数据传输的速率、包/帧结构、实现传输控制等。主要TCP/IP协议簇
TCP
三次握手 四次挥手面向连接相对稳定
客户端
连接服务器Socket发送消息
服务器
建立服务端口ServerSocket等待用户的连接accept接受用户的消息
import java.io.IOException;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;//客户
public class Test3 {public static void main(String[] args) throws IOException {//要知道服务器地址InetAddress sAddressInetAddress.getByName(127.0.0.1);//端口号int port9999;//创建socket连接Socket socketnew Socket(sAddress,port);//发送消息IO流OutputStream streamsocket.getOutputStream();stream.write(hello.getBytes());//关闭资源stream.close();socket.close();}
}import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;//服务
public class Test4 {public static void main(String[] args) throws IOException {//需要有一个地址ServerSocket serverSocketnew ServerSocket(9999);//等待客户端连接Socket socketserverSocket.accept();//读取消息InputStream issocket.getInputStream();//管道流ByteArrayOutputStream baosnew ByteArrayOutputStream();byte[] buffer new byte[1024];int len;while ((lenis.read(buffer))!-1){baos.write(buffer,0,len);}System.out.println(baos.toString());baos.close();is.close();socket.close();serverSocket.close();}
}UDP
不用建立连接但是需要地址
import java.net.*;//不需要连接服务器
public class Test5 {public static void main(String[] args) throws Exception {//建立SocketDatagramSocket socketnew DatagramSocket();//打包数据包String msghello;new DatagramPacket(msg.getBytes(),0,msg.getBytes().length);//发送InetAddress addressInetAddress.getByName(127.0.0.1);int post9090;DatagramPacket packetnew DatagramPacket(msg.getBytes(),0,msg.getBytes().length,address,post);socket.send(packet);socket.close();}
}import java.net.DatagramPacket;
import java.net.DatagramSocket;//服务器端,等待客户端的数据包
public class Test6 {public static void main(String[] args) throws Exception {//开放端口DatagramSocket socketnew DatagramSocket(9090);//接受数据包byte[] buffernew byte[1024];DatagramPacket packetnew DatagramPacket(buffer,0,buffer.length);socket.receive(packet);//阻塞接受System.out.println(new String(packet.getData()));//关闭连接socket.close();}
}