1TCP協議
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.net.Socket;
-
-
-
-
-
-
-
-
- public class Client {
- public static void main(String[] args) throws Exception{
-
- Socket socket = new Socket("127.0.0.1", 12345);
-
- InputStream in = socket.getInputStream();
-
- OutputStream out = socket.getOutputStream();
-
- byte[] arr = new byte[1024];
- int len = in.read(arr);
-
- System.out.println(new String(arr,0,len));
-
- out.write("服務器你好,我是客戶端".getBytes());
- socket.close();
- }
- }
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
-
-
-
-
-
-
-
-
-
-
- public class Receive {
- public static void main(String[] args) throws Exception {
-
- DatagramSocket socket = new DatagramSocket(6666);
-
- DatagramPacket packet = new DatagramPacket(new byte[1024], 1024);
-
- socket.receive(packet);
-
- byte[] arr = packet.getData();
- int len = packet.getLength();
- System.out.println(new String(arr,0,len));
-
- socket.close();
- }
- }
2UDP協議
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
- import java.net.InetAddress;
-
-
-
-
-
-
-
-
-
- public class Send {
- public static void main(String[] args) throws Exception {
- String message ="what your name?";
-
- DatagramSocket socket = new DatagramSocket();
-
- DatagramPacket packet =
- new DatagramPacket(message.getBytes(), message.getBytes().length, InetAddress.getByName("127.0.0.1"), 6666);
- socket.send(packet);
- socket.close();
- }
- }
-
-
-
-
-
-
-
-
- public class Server {
- public static void main(String[] args) throws Exception {
- ServerSocket server = new ServerSocket(12345);
-
- Socket socket = server.accept();
-
- InputStream in = socket.getInputStream();
-
- OutputStream out = socket.getOutputStream();
-
- out.write("百度一下,你就知道".getBytes());
-
- byte[] arr = new byte[1024];
- int len = in.read(arr);
-
- System.out.println(new String(arr, 0, len));
- socket.close();
- }
- }
3總結
1 Socket套接字概述:java
網絡上具備惟一標識的IP地址和端口號組合在一塊兒才能構成惟一能識別的標識符套接字。數組
通訊的兩端都有Socket。至關於一個港口,用於發送和接收數據的服務器
網絡通訊其實就是Socket間的通訊。網絡
數據在兩個Socket間經過IO流傳輸。socket
Socket在應用程序中建立,經過一種綁定機制與驅動程序創建關係,告訴本身所對應的IP和port。tcp
2服務器與客戶端的概念ide
第一次主動方就是客戶端,被動方就是服務器,這些名詞,只是一種喻意辭也有可能大家實際上都是客戶端url
3兩種協議的實際案例spa
網絡直播就是採用的UDP協議, 信號很差 視頻卡了,可是仍是一直髮送數據,信號恢復了,就直接是信號恢復後的數據了,信號很差那個時間段的數據已經消失了.net
遊戲通常不採起tcp協議的,由於他沒有必須保證數據的完整服務器收到了,就讓你移動,服務器沒受到,就不讓你移動