Soket Penyahkodan Hantar Data untuk Menyelesaikan 'TypeError: objek seperti bait diperlukan, bukan 'str'
Dalam percubaan untuk mengubah suai input pengguna melalui soket UDP, kod yang disediakan menghasilkan ralat yang menunjukkan bahawa objek seperti bait diperlukan dan bukannya rentetan. Untuk membetulkan isu ini, kod perlu mengekod mesej input sebelum menghantarnya.
Dalam Python 3, rentetan ialah Unicode secara lalai, manakala komunikasi melalui soket mengharapkan data bait. Untuk memastikan keserasian, mesej hendaklah ditukar kepada bait menggunakan kaedah encode(). Berikut ialah segmen yang diperbetulkan:
clientSocket.sendto(message.encode(), (serverName, serverPort))
Selain itu, pada bahagian penerima pelayan UDP, mesej hendaklah dinyahkodkan supaya sepadan dengan pengekodan yang dinyatakan pada bahagian klien:
modifiedMessage, serverAddress = clientSocket.recvfrom(2048).decode()
Oleh menggunakan pengubahsuaian ini, kod akan mengendalikan penukaran data dengan betul antara rentetan Unicode dan objek seperti bait yang diperlukan untuk komunikasi soket.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan \'TypeError: objek seperti bait diperlukan, bukan \'str\'\' semasa Menghantar Data melalui Soket UDP dalam Python 3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!