加入语音通话后,语音通话应用程序崩溃

发布于 2025-02-11 23:28:20 字数 2038 浏览 0 评论 0原文

我构建了一个语音通话应用程序,出于某种原因加入VC时,它就崩溃了。没有错误,什么都没有。看来,即使连接详细信息正确,也没有连接到服务器,但我认为还有其他事情正在发生。请帮助!

这是服务器代码:

def on_server_stop():
    log(consoleLog="Stopping Vc Server")
    sys.exit()


host = '0.0.0.0'
port = 5000

server = socket.socket() 
server.bind((host, port)) 
server.listen()

log(consoleLog='Voice call server started and online!')

clientsInVC = []

def handleVC(fromConnection):
    log(consoleLog="User conected to VC server.")
    while True:
        try:
            data = fromConnection.recv(4096)
            for client in clientsInVC:
                if client != fromConnection:
                    client.send(data)
        except:
            client.close()
            clientsInVC.remove(conn)

while True:
    conn, addr = server.accept()
    clientsInVC.append(conn)
    thread = threading.Thread(target=handleVC, args=(conn, ))
    thread.start()

这是客户端代码:

import pyaudio
import socket
import threading

def JOINVC():
    print("started vc")
    vcclient = socket.socket()

    host = "127.0.0.1"
    port = 5000

    vcclient.connect((host, port))

    p = pyaudio.PyAudio()

    Format = pyaudio.paInt16
    Chunks = 1024 * 4
    Channels = 1
    Rate = 44100

    inputStream = p.open(format=Format, channels=Channels, rate=Rate, input=True, frames_per_buffer= Chunks)
    outputStream = p.open(format=Format, channels=Channels, rate=Rate, output=True, frames_per_buffer= Chunks)

    def sendData():
        while True:
            try:
                data = inputStream
                vcclient.send(data)
            except:
                break
        inputStream.close()

    def recive():
        while True:
            try:
                data = inputStream.read(Chunks)
                outputStream.write(data)
            except:
                break
        outputStream.close()

    sendThread = threading.Thread(target = sendData)
    sendThread.start()
    reciveThread = threading.Thread(target= recive)
    reciveThread.start()

I built a voice call app and for some reason when I join the vc it just crashes the app. No errors, nothing. It appears that is it not connecting to the server even tho the connection details are correct but I think there is something else going on. Pls Help!

Here is the Server Code:

def on_server_stop():
    log(consoleLog="Stopping Vc Server")
    sys.exit()


host = '0.0.0.0'
port = 5000

server = socket.socket() 
server.bind((host, port)) 
server.listen()

log(consoleLog='Voice call server started and online!')

clientsInVC = []

def handleVC(fromConnection):
    log(consoleLog="User conected to VC server.")
    while True:
        try:
            data = fromConnection.recv(4096)
            for client in clientsInVC:
                if client != fromConnection:
                    client.send(data)
        except:
            client.close()
            clientsInVC.remove(conn)

while True:
    conn, addr = server.accept()
    clientsInVC.append(conn)
    thread = threading.Thread(target=handleVC, args=(conn, ))
    thread.start()

Here is the Client Code:

import pyaudio
import socket
import threading

def JOINVC():
    print("started vc")
    vcclient = socket.socket()

    host = "127.0.0.1"
    port = 5000

    vcclient.connect((host, port))

    p = pyaudio.PyAudio()

    Format = pyaudio.paInt16
    Chunks = 1024 * 4
    Channels = 1
    Rate = 44100

    inputStream = p.open(format=Format, channels=Channels, rate=Rate, input=True, frames_per_buffer= Chunks)
    outputStream = p.open(format=Format, channels=Channels, rate=Rate, output=True, frames_per_buffer= Chunks)

    def sendData():
        while True:
            try:
                data = inputStream
                vcclient.send(data)
            except:
                break
        inputStream.close()

    def recive():
        while True:
            try:
                data = inputStream.read(Chunks)
                outputStream.write(data)
            except:
                break
        outputStream.close()

    sendThread = threading.Thread(target = sendData)
    sendThread.start()
    reciveThread = threading.Thread(target= recive)
    reciveThread.start()

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文