[JAVA] Swift Network.framework Study 2019 1204 "UDP"

Study Network.framework Studie: Kundenseite

Umgebung

Client:Swift、Xcode Server:Java、NetBeans

Client Source Swift

Swift setzt einfach "NWParameters.udp" in NWConnection.

import Foundation
import Network

var running = true

func startConnection() {
    let myQueue = DispatchQueue(label: "ExampleNetwork")
    let connection = NWConnection(host: "localhost", port: 7777, using: NWParameters.udp)
    connection.stateUpdateHandler = { (newState) in
        switch(newState) {
        case .ready:
            print("ready")
            sendMessage(connection)
        case .waiting(let error):
            print("waiting")
            print(error)
        case .failed(let error):
            print("failed")
            print(error)
        default:
            print("defaults")
            break
        }
    }
    connection.start(queue: myQueue)
}

func sendMessage(_ connection: NWConnection) {
    let data = "Example Send Data".data(using: .utf8)
    let completion = NWConnection.SendCompletion.contentProcessed { (error: NWError?) in
        print("vollständig senden")
        running = false
    }
    connection.send(content: data, completion: completion)
}

startConnection()

//dispatchMain()

while running {
    sleep(1)
}

Server Source Java Java verwendet verschiedene Klassen für TCP und UDP.

package example.java.network;

import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class ExampleServerUDP {
    private static final int EXHOMAX = 255;
    
    public static void main(String[] args) {
        try {
            DatagramSocket​ datagramSocket = new DatagramSocket​(7777);
            DatagramPacket datagramPacket = new DatagramPacket(new byte[EXHOMAX], EXHOMAX);
            while(true) {
                datagramSocket.receive(datagramPacket);
                for(int i = 0; i < datagramPacket.getLength(); i++) {
                    System.out.print(datagramPacket.getData()[i]);
                    System.out.print(" ");
                }
                System.out.println();
                datagramPacket.setLength(EXHOMAX);
            }
        }
        catch(Exception e) {
        }
    }
}

Recommended Posts

Swift Network.framework Study 2019 1204 "UDP"
Swift Network.framework Study 2019 1207 "Server UDP"
Swift Network.framework-Studie 20191203
Swift Network.framework Study 2019 1210 "Bonjour Browse"
Swift Network.framework-Studie 2019 1205 "Server TCP"
Swift Network.framework Study 2019 1208 "Senden und Empfangen"
Swift Network.framework Study 20200319 "Empfangen und Senden"
Swift Network.framework Study 2019 1206 "Server TCP" Teil 2 Verwenden Sie die Empfangsmethode
Swift Network.framework Study 2019 1207 "Server TCP" Teil 3 Verbesserte Verwendung der Empfangsmethode