2016-08-01 17 views
0

Ich versuche, eine Socket-Verbindung von meiner iOS App zu einem maßgeschneiderten Server zu starten.Socket-Verbindung mit verschiedenen Ports

Das iOS kommuniziert über UDP mit dem Server an Port 12345. Die Anfrage muss vom Socket 54321 auf dem Gerät kommen.

Wie öffne ich eine Socket-Verbindung unter iOS, die mit einem Server an einem Port kommuniziert, aber über einen anderen Port hört.

Ich habe das Beispiel auf gefolgt: https://www.raywenderlich.com/3932/networking-tutorial-for-ios-how-to-create-a-socket-based-iphone-app-and-server Aber das gilt nicht für den lokal Port

Ich habe auch an der Dokumentation auf https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/NetworkingTopics/Articles/UsingSocketsandSocketStreams.html aussehen, aber ich bin zu finden unklar aufgrund meiner begrenzten Kenntnis von Socket-Verbindungen.

Ich versuche derzeit zu verwenden https://github.com/robbiehanson/CocoaAsyncSocket/wiki/Reference_GCDAsyncSocket Aber ich scheint nicht in der Lage, den lokalen Port zu steuern.

Vielen Dank im Voraus

+1

Normalerweise kümmert es Sie nicht um den sendenden Socket, aber wenn Sie Ihren 'AsyncUDPSocket' erstellen, können Sie' bindToPort' verwenden, um seinen Port festzulegen. Dann benutze 'sendData: toHost: port: timeout: tag:' um die Daten zu senden – Paulw11

+0

@ Paulw11 - Vielen Dank. Kannst du das bitte als Antwort hinzufügen, damit ich es abstimmen kann? Es war wichtig für den Socket aufgrund der Art, wie der Server gebaut wurde, da der Server auf einem anderen Port antwortet. Der 'bindToPort' war genau das, wonach ich suchte. –

Antwort

1

Normalerweise kümmern Sie sich nicht um die Sende-Socket, aber wenn Sie Ihre AsyncUDPSocket erstellen können Sie bindToPort: seinen Hafen zu setzen verwenden. Dann verwenden Sie sendData:toHost:port:timeout:tag:, um die Daten zu senden