- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Sử dụng các ràng buộc rtmplib của Python và gặp phải một số vấn đề.
Đầu tiên,
Tôi có một cái gì đó như thế này:
nhập librtmp
conn = librtmp.RTMP(...)
kết nối.connect()
while True:
gói = conn.read_packet().body
gói in
Điều này sẽ in một gói như thế này:
Đối với tôi nó trông giống như hex và khi ghi vào tệp, tôi nhận được chuỗi 4 ký tự như thế này:
0200 086f 6e42 5744 6f6e 6500 0000 0000
0000 0000 0500 0000 0000 0000 0000 0200
066e 6f74 6963 6500 0000 0000 0000 0000
0502 0003 2a2a 2a02 000a 5072 6f63 6573
Vì vậy, câu hỏi của tôi là, làm cách nào tôi có thể biến chuỗi này thành một chuỗi thực (hoặc bộ đệm) chỉ có văn bản có thể đọc được? Tôi đã thử nhiều cách khác nhau để giải mã hex nhưng kết quả kết thúc bằng "\x05".
Điều đáng nói là khi viết nó chứa rất nhiều số 00.
Có ai biết cách tôi có thể đạt được những gì tôi đã yêu cầu trước đây một cách đơn giản nhưng tốt không?
Cảm ơn trước.
câu trả lời hay nhất
Nếu bạn không biết mình đang nhận được gì thì hãy lưu dữ liệu vào một tệp và xem nó bằng trình xem? (ví dụ: od trên linux).
Ngoài ra, nếu bạn không biết mình sẽ nhận được dữ liệu gì, hãy xem liệu bạn có thể tìm thấy bất kỳ mô tả định dạng rtmp nào có sẵn trực tuyến hay không. (Tôi nghĩ vì có thứ gì đó như red5 tồn tại nên nó phải được ghi lại) .. và có một số tài liệu http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/rtmp/pdf/rtmp_specuation_1.0.pdf
Nếu bạn biết mình đang nhận được gì, bạn có thể giải nén dữ liệu bằng thư viện tích hợp struct https://docs.python.org/2/library/struct.html
Tôi ngạc nhiên khi librtmp không cung cấp cho bạn các đối tượng phân tích cú pháp cấp cao. Bạn không thể là người đầu tiên muốn làm điều này.. vì vậy hãy xem liệu những người khác có thư viện để xử lý việc này không.
Về python - giải mã các gói hex(?), chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/26668113/
Sử dụng các ràng buộc rtmplib của Python và gặp phải một số vấn đề. Đầu tiên, tôi có một cái gì đó như thế này: import librtmp conn = librtmp.RTMP(...) conn.con
Về cơ bản, tôi đã nghe lén các gói tin trên PS3 của mình trong khi kiểm tra bảng xếp hạng Motorstorm. Bảng xếp hạng được gửi tới máy ps3 của tôi ở định dạng XML nhưng chỉ sau khi tôi cho phép. Vậy ai đó có thể cho tôi biết điều gì xảy ra giữa ba gói này không và làm cách nào tôi có thể
Tôi đang cố gắng hiểu TCP, nhưng việc phân tích hàng tấn RFC không giúp ích được gì. Tôi tin rằng tôi hiểu cái bắt tay kết nối và đóng, nhưng dường như tôi không thể tìm thấy bất cứ điều gì tóm tắt luồng dữ liệu thực tế. Các gói TCP trông như thế nào giữa quá trình bắt tay kết nối và đóng? (đặc biệt là tiêu đề) Tốt nhất
Tôi đang cố gắng liên lạc với máy chủ Minecraft của mình qua cổng RCON. Mặc dù tôi không biết cách sử dụng các công cụ ổ cắm và luồng. Nhìn quanh, tôi thấy họ đều có điểm chung. Ổ cắm, luồng đầu vào và luồng đầu ra. Tôi đã thử điều này trong mã của mình nhưng nó trả về
Tôi đang thiết kế một giao thức đơn giản trên UDP và bây giờ tôi nhận ra rằng những người khác có thể gửi gói đến cổng mà tôi đang nghe. Những gói như vậy rõ ràng là không chính xác đối với ứng dụng của tôi (Hiện tại tôi không lo lắng về bảo mật) Có cách nào để lọc những gói này không
Tôi hiện có một máy chủ trò chơi có tốc độ đánh dấu có thể tùy chỉnh, nhưng trong ví dụ này, chúng tôi khuyên máy chủ chỉ đánh dấu một lần mỗi giây hoặc 1hz. Tôi đang tự hỏi đâu là cách tốt nhất để xử lý các gói đến nếu máy khách gửi nhanh hơn máy chủ vì thiết lập hiện tại của tôi dường như không hoạt động
Tôi không hiểu thứ tự byte mạng cũng như thứ tự gửi và nhận dữ liệu qua UDP. Tôi đang sử dụng C#. Tôi có cấu trúc chứa: message.start_id = 0x7777CCCC;
Tôi đang viết mã cho thiết bị USB. Giả sử máy chủ USB bắt đầu truyền đọc có kiểm soát để đọc một số dữ liệu từ thiết bị và lượng dữ liệu được yêu cầu (đặt wLength trong gói) là bội số của kích thước gói tối đa cho điểm cuối 0. Sau đó, sau khi máy chủ nhận được tất cả dữ liệu (
Tôi có PC Windows, bộ chuyển đổi Marvell, bộ chuyển đổi Netgear và máy Ubuntu được kết nối với nhau (thông qua bộ chuyển đổi Netgear). Gần đây tôi đã chuyển từ PC Windows sang Marvell
Làm cách nào để xác định gói dns khi xem mã byte của gói. Trường giao thức của tiêu đề IP sẽ cho biết có khung UDP đằng sau nó, nhưng không có trường giao thức nào trong khung UDP để chỉ định điều gì sẽ xảy ra tiếp theo.
Tôi có pcap cho nhiều loại lưu lượng truy cập khác nhau trên 802.11 (wifi) qua udf. UDP (hay chính xác hơn là IP) phân mảnh các gói wifi do MTU. Tôi hiện đang sử dụng SharpPcap để đọc và
Tôi có nhật ký sự cố này trên ứng dụng Core Audio mà tôi đang phát triển. Tôi hiện đang gỡ lỗi nó, vì vậy câu hỏi của tôi không phải về sự cố mà là về ý nghĩa của gói "k". Điều này có nghĩa là gì? Tôi đã đọc cái này và cái này (khoảng
Tôi tạo các gói UDP trên 100 nhóm phát đa hướng trên một máy VM Ubuntu 16.04 và đăng ký các nhóm này trên một máy VM Ubuntu 16.04 khác. Cả hai đều chạy trên HP với Hyper-V Manager
Câu hỏi này đã có câu trả lời ở đây: Làm cách nào tôi có thể sửa 'android.os.NetworkOnMainThreadException'? (66 câu trả lời) Đã đóng 6 năm trước. Tôi đang cố gắng tạo ra một thứ đơn giản
Tôi đang tìm cách giả mạo các gói UDP bằng Java. Có thư viện Java nào tốt cho phép bạn tạo Ổ cắm RAW của riêng mình không? Câu trả lời hay nhất Tôi sẽ sử dụng API Java bao bọc libpcap .libpc
Tôi đang sử dụng ổ cắm web không nén giữa máy khách dựa trên Tyrus và máy chủ web tomcat. Tôi thấy các tin nhắn đến và đi từ ổ cắm của mình ở phía tomcat, nhưng nếu tôi thiết lập một wireshark để xem chúng đến
Ứng dụng của tôi không thể nhận gói UDP khi chạy trong trình mô phỏng. Các gói UDP được gửi qua cổng 49999 bằng chương trình java sau trên "localhost". Máy khách DatagramSocket
Tôi đang phát triển ứng dụng Google Glass cần nghe các gói UDP trong chuỗi công việc (để tích hợp với hệ thống hiện có gửi gói UDP). Tôi đã đăng câu hỏi trước đây (xem tại đây) và nhận được câu trả lời cung cấp
Tôi đang gửi hai gói từ máy khách đến máy chủ. Vấn đề tôi gặp phải là dữ liệu đọc trên máy chủ làm cho cả hai chuỗi có cùng độ dài đối với chuỗi dài nhất được gửi. Ví dụ: Nếu chuỗi 1 là: 1234 và chuỗi 2 là: dịch vụ abcdefghi
Tôi biết đây là cách làm không tốt nhưng liệu có thể thực hiện được những điều sau không? Gửi gói 1 đến cổng UDP 1 cổng 1 nhận gói 1 và gửi nó đến cổng 2 po
Tôi là một lập trình viên xuất sắc, rất giỏi!