Study
Network.framework Studie: Serverseite
Client:Java、NetBeans Server:Swift、Xcode
Client Source Java
package example.java.network;
import java.io.PrintWriter;
import java.net.Socket;
public class ExampleClientSocket {
public static void main(String[] args) {
try(Socket socket = new Socket("localhost", 7777);
PrintWriter printWriter = new PrintWriter(socket.getOutputStream(), true);) {
printWriter.println("Example Send Data");
}
catch(Exception e) {
System.out.println(e);
}
}
}
Server Source Swift
Verwenden Sie NWLister Empfangen Sie die Verarbeitungsregistrierung und starten Sie die Ausführung in NWConnection nach dem Verbindungsaufbau Verwenden Sie die Empfangsmethode, mit der die Anzahl der empfangenen Bytes angegeben werden kann. Aus einem empfangenen Datenwert haben wir die maximale Länge für einige Minuten ermittelt. Im folgenden Beispiel sind es 5 Bytes. Selbst wenn Sie 5 Bytes oder mehr senden, scheint der Empfang nach dem 6. Byte nicht kontinuierlich aufgerufen zu werden. Wir untersuchen, ob wir weitermachen können.
main.swift
import Foundation
import Network
var networkServer = NetworkServer()
networkServer.startListener()
while networkServer.running {
sleep(1)
}
NetworkServer.swift
import Foundation
import Network
class NetworkServer {
public var running = true
func startListener() {
let myQueue = DispatchQueue(label: "ExampleNetwork")
do {
let nWListener = try NWListener(using: .tcp, on: 7777)
nWListener.newConnectionHandler = { (newConnection) in
print("New Connection!!")
newConnection.receive(minimumIncompleteLength: 1, maximumLength: 5, completion: { (data, context, flag, error) in
print("receiveMessage")
let receiveData = [UInt8](data!)
print(receiveData)
})
newConnection.start(queue: myQueue)
}
nWListener.start(queue: myQueue)
print("start")
}
catch {
print(error)
}
}
}
Recommended Posts