Получение segfault из-за строковой переменной типа данных на сервере PROTOBUF и связи клиента через сокеты на конце recv в cpp

Когда я отправляю переменную protobuf через соединение через сокет на recv end, я пытаюсь отобразить строковую переменную protobuf. Я получил сегментацию в этом оставшемся типе данных, кроме String, они работают нормально, но в случае строковой переменной я получил сегментацию Как я могу прийти в Protobuf ошибка сегментации типа данных строки, отличная от любого другого типа данных для хранения типа данных строки.

Я создаю example.proto с именем переменной строки, там я компилирую example.proto с компилятором protoc (protoc example.proto --cpp_out ) он создает два файла два файла example.pb.h, example.pb.cc Используя эти файлы, я создаю test_server.cpp и test_client.cpp и компилирую его. но во время выполнения обеих программ я отправил переменную protobuf на стороне recv, это дает ошибку сегментации из-за попытки отобразить строковую переменную.

Как я могу решить эту проблему?

example.proto

package data;
message  star
{ optional string name=1; }

server.cpp

#include
#include
#include
#include
#include
#include
#include 
#include"example.pb.h"
#include"example.pb.cc"

int main() 
{ 
    int sd,csd;
    sd=socket(AF_INET, SOCK_STREAM,0);
    perror("socket");
    sockaddr_in ser,cli;
    ser.sin_family=AF_INET;
    ser.sin_port=htons(7878);
    ser.sin_addr.s_addr=inet_addr("X.Y.Z.A");
    bzero(ser.sin_zero, 8);
    size_t s=16;

    if(bind(sd,(struct sockaddr *)&ser, s)==-1)
        cout

Ответы на вопрос(1)

Ваш ответ на вопрос