udp 通信チャネルを作成するために GCDAsyncUdpPacket.m および .h ファイルを使用してみました。しかし、それを介して、1 行のメッセージしか送信できませんでした。画像などのファイル全体を送信する必要があります。
私はこのプラットフォームにまったく慣れていないので、どんな助けでも大歓迎です。
udp 通信チャネルを作成するために GCDAsyncUdpPacket.m および .h ファイルを使用してみました。しかし、それを介して、1 行のメッセージしか送信できませんでした。画像などのファイル全体を送信する必要があります。
私はこのプラットフォームにまったく慣れていないので、どんな助けでも大歓迎です。
UDPはエラーチェックされたプロトコルではないため、UDPソケットにバイナリデータを詰め込むだけでは信頼性が低くなります。一部のパケットがドロップされたり、遠端で順不同で到着したりする可能性があるためです。
エラーがチェックされ、順序が正しく、信頼できるデータを確保する場合は、TCPソケットを開いて、その方法で送信します。
IOSでは、NSStreamクラスを使用してこれを行うことができますが、iPhoneアプリで使用できるさまざまな方法を理解するには、多くのサンプルコードを確認する必要があります。これを適切に実装するには、実行ループ(NSRunLoop)がどのように機能し、Cocoaで委任がどのように機能するかを理解する必要があります。
私の場合、これをすべて回避し、別のNSThreadでネットワークタスクを開始し、UNIXのsocket()、connect()、およびsend()プリミティブを使用してTCPソケットを開く傾向があります。これらを機能させると、他のコードにカットアンドペースト(またはパーソナルコードライブラリに配置)できるため、その方法を覚えておく必要はありません。:-)
BSDプリミティブsocket()、accept()、bind()、connect()、send()、およびrecv()のサンプルコードはたくさんあります。