簡體   English   中英

如何在正在寫入的UDP套接字上發送數據?

[英]How to Send data over UDP socket as it is being written?

我已經使用服務器客戶端設計在WLAN上使用netcat連接了兩台Linux機器。 現在,我能夠在它們之間發送和接收消息。 在服務器上,我使用UDP套接字創建:

$ nc -u -l 3333

在客戶端,我使用端口號和目標IP連接到該端口:

$ nc -u 192.168.178.160 3333

這導致服務器和客戶端之間的雙向連接。 誰也說不清,但我想它是實時的 現在,我想開發功能並嘗試在雙方之間建立實時語音連接 通過麥克風記錄也是可行的通過arecord其中語音數據寫入命令.wav文件。 .wav文件的傳輸只有在完全記錄之后才能進行,但這沒有用,因為所需的是實時通信。 當然,接收到的語音信號必須在另一端立即播放。 有誰知道如何使其實時嗎?

保真度意味着盡管網絡等待時間和等待時間變化很大,但仍保留大量緩沖區以保持聲音的連續性;接近實時的低聲音延遲意味着減少緩沖區數量以減少總體等待時間。 不能同時擁有。

IME,您需要保持〜250ms max。 兩端緩沖的聲音,以保持對“實時”語音的幻覺。 該緩沖區隊列需要以重現語音所需的固定速率清空,並在必要時通過網絡協議進行補充。 如果網絡等待時間太短而無法加滿該大小的緩沖池,則必須增大緩沖池,使隊列更長,並且實時性能會受到影響。

TCP / UDP問題是大多數網絡連接上的麻煩。

只是要感謝您沒有流視頻:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM