Socket TCP/UDP


TCP

TCPClient

 1 package com.tcp;
 2 
 3 import java.io.*;
 4 import java.net.*;
 5 
 6 class TCPClient 
 7 {
 8     public static void main(String argv[]) throws Exception
 9     {
10         String sentence;
11         String modifiedSentence;
12         BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
13   
14         Socket clientSocket = new Socket("127.0.0.1", 6789);
15         DataOutputStream outToServer = 
        new DataOutputStream(clientSocket.getOutputStream()); 16 BufferedReader inFromServer =
        new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); 17 sentence = inFromUser.readLine(); 18 outToServer.writeBytes(sentence + ' '); 19 modifiedSentence = inFromServer.readLine(); 20 System.out.println("FROM SERVER: " + modifiedSentence); 21 clientSocket.close(); 22 } 23 }

TCPServer

 1 package com.tcp;
 2 
 3 import java.io.*;
 4 import java.net.*;
 5 
 6 class TCPServer 
 7 {
 8    public static void main(String argv[]) throws Exception
 9       {
10          String clientSentence;
11          String capitalizedSentence;
12          ServerSocket welcomeSocket = new ServerSocket
13          (6789);
14 
15          while(true) 
16          {
17             Socket connectionSocket = welcomeSocket.accept();
18             
19             BufferedReader inFromClient =
           new BufferedReader
          (new InputStreamReader(connectionSocket.getInputStream())); 20 21 DataOutputStream outToClient =
           new DataOutputStream(connectionSocket.getOutputStream()); 22 clientSentence = inFromClient.readLine(); 23 capitalizedSentence = clientSentence.toUpperCase() + ' '; 24 outToClient.writeBytes(capitalizedSentence); 25 } 26 } 27 }

UDP

UDPClient

 1 package com.udp;
 2 
 3 import java.io.*;
 4 import java.net.*;
 5 
 6 class UDPClient 
 7 {
 8    public static void main(String args[]) throws Exception
 9    {
10       BufferedReader inFromUser =
        new BufferedReader(new InputStreamReader(System.in)); 11 DatagramSocket clientSocket = new DatagramSocket(); 12 InetAddress IPAddress = InetAddress.getByName("localhost"); 13 byte[] sendData = new byte[1024]; 14 byte[] receiveData = new byte[1024]; 15 String sentence = inFromUser.readLine(); 16 sendData = sentence.getBytes(); 17 DatagramPacket sendPacket =
        new DatagramPacket(sendData, sendData.length, IPAddress, 9876); 18 clientSocket.send(sendPacket); 19 DatagramPacket receivePacket =
        new DatagramPacket(receiveData,receiveData.length); 20 clientSocket.receive(receivePacket); 21 String modifiedSentence = new String(receivePacket.getData()); 22 System.out.println("FROM SERVER:" +modifiedSentence); 23 clientSocket.close(); 24 } 25 }

UDPServer

 1 package com.udp;
 2 
 3 import java.io.*;
 4 import java.net.*;
 5 
 6 class UDPServer 
 7 {
 8    public static void main(String args[]) throws Exception
 9       {
10          DatagramSocket serverSocket = new
11                               DatagramSocket(9876);
12             byte[] receiveData = new byte[1024];
13             byte[] sendData = new byte[1024];
14             while(true)
15                {
16                   DatagramPacket receivePacket =
              new DatagramPacket(receiveData, receiveData.length); 17 serverSocket.receive(receivePacket); 18 String sentence = new String(receivePacket.getData()); 19 InetAddress IPAddress = receivePacket.getAddress(); 20 int port = receivePacket.getPort(); 21 String capitalizedSentence = sentence.toUpperCase(); 22 sendData = capitalizedSentence.getBytes(); 23 DatagramPacket sendPacket =
              new DatagramPacket(sendData,sendData.length, IPAddress, port); 24 serverSocket.send(sendPacket); 25 } 26 } 27 }
原文地址:https://www.cnblogs.com/0Nullptr/p/6718271.html