В моем приложении чата, только текст может быть отправлен прямо сейчас.Я пытаюсь добавить функцию, в которой изображения также могут быть отправлены.Однако есть один момент, в котором я застрял. Когда я получаю данные, как я могу различить фотографию и текст?Я спрашиваю об этом, потому что эти два совершенно разные процедуры.В одном из них мы кодируем его с помощью UTF-8 и отправляем, а в другом мы отправляем байты.На стороне сервера, как я могу их различить?
Мне удалось добавить функцию отправки фотографий на стороне клиента, как показано ниже.Когда я пытаюсь это сделать, он успешно отправляет байты изображения.Единственное, что мне нужно, это отличить текст от байтов на стороне сервера.
Поскольку мой код слишком длинный, я предпочитаю не добавлять все это здесь.Вы можете получить к нему доступ через мой github https://github.com/suleymanyaman/randomchatserver
Клиент
def sendphoto():
dlg = QFileDialog()
dlg.setFileMode(QFileDialog.AnyFile)
img_dir = QStringListModel()
if dlg.exec_():
img_dir = dlg.selectedFiles()[0]
data = open(r'{}'.format(img_dir),'rb').read()
s.send(data)
Сервер
while 1:
msg = client.recv(100000000).decode("utf-8")