2010-11-09 34 views
17

Có ai có bất kỳ hướng dẫn hay về cách gửi gói UDP từ SDK iPhone không?Gửi gói UDP từ iPhone

EDIT:

Đã thực sự dễ dàng để làm điều này ...

RTFM!

Sau bao gồm AsyncUdpSocket chỉ cần thêm này trong phần đầu:

AsyncUdpSocket *socket; 

Và trong chính:

NSData *data = ... 
[socket sendData:data toHost:@"192.168.x.x" port:5002 withTimeout:-1 tag:1]; 

Khi thử nghiệm đừng quên để cho phép UDP truyền thông về tường lửa máy chủ của bạn!

+0

Một chút về lịch sử ... ở một giai đoạn có thư viện hoàn toàn không thể chấp nhận AsyncSocket, ban đầu được tạo ra bởi Dustin J. Voss bí ẩn. (đôi khi được gọi là CocoaAsyncSocket.) Tại một thời điểm nó đi kèm với mã ví dụ UDP dễ dàng và nó là trung tâm phát triển iOS. Có lẽ vẫn còn giá trị nếu bạn có thể đào nó lên. Đó là một thư viện đáng kinh ngạc. – Fattie

+0

cách xử lý nếu địa chỉ IP thay đổi – remyr3my

+0

@ Cyph3r Bạn sẽ cần phải sử dụng một số logic tùy chỉnh để đặt biến 'NSString', mà bạn có thể chuyển vào tham số' đếnHost'. Hoặc, cách khác sử dụng tên miền và thiết lập bản ghi DNS thay vì sử dụng địa chỉ IP và cập nhật khi cần. Nó hoàn toàn phụ thuộc vào những gì bạn đang cố gắng làm. –

Trả lời

15

CocoaAsyncSocket là một thư viện đẹp có chứa một lớp được gọi là AsyncUdpSocket là một trình bao bọc Obj-C xung quanh API ổ cắm cấp thấp hơn.

+0

Tôi sẽ cung cấp cho bạn câu trả lời đúng khi bạn đưa tôi lên đường! Đối với bất cứ ai đọc câu hỏi này với cùng một vấn đề tôi đã đăng một số mã như một chỉnh sửa trong câu hỏi. –

+0

Liên kết không hoạt động nữa :-( – Xander

+0

Liên kết được cập nhật thành trang chủ mới trên github: https://github.com/robbiehanson/CocoaAsyncSocket –

2

Bạn có thể sử dụng khung hình CFNetwork để tạo ổ cắm UDP với CFSocket. Đây là CFSocket reference.

+0

Vì vậy, để gửi một gói UDP tới máy chủ của tôi, tôi có sử dụng CFSocketSendData không? –

+0

Có, sau khi bạn CFSocketTạo với IPPROTO_UDP, bạn có thể sử dụng CFSocketSendData. Danh sách gửi thư của Mạng lập trình Mac là một nơi tốt để tìm các ví dụ: http://lists.apple.com/archives/macnetworkprog/ – Donald

+0

AsyncUdpSocket đơn giản hơn nhiều! :) –

Các vấn đề liên quan