feat: 简化socket发送逻辑
This commit is contained in:
parent
cf33cff0a5
commit
8bcfa9e7cc
21
src/client.c
21
src/client.c
|
|
@ -136,33 +136,14 @@ int send_exec_params(const char *filename, char *const argv[],
|
|||
char buffer[BUFFER_SIZE];
|
||||
char display_buffer[BUFFER_SIZE];
|
||||
ssize_t bytes_read;
|
||||
int started = 0;
|
||||
|
||||
// 等待接收[sthttp]标记
|
||||
while (!started) {
|
||||
bytes_read = readMessage(sock, buffer, BUFFER_SIZE);
|
||||
if (bytes_read <= 0) {
|
||||
perror("Failed to read start marker");
|
||||
close(sock);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (strstr(buffer, "[sthttp]")) {
|
||||
started = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// 持续读取消息直到收到[end]
|
||||
// 持续读取消息直到socket关闭
|
||||
while (1) {
|
||||
bytes_read = readMessage(sock, buffer, BUFFER_SIZE);
|
||||
if (bytes_read <= 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (strstr(buffer, "[end]")) {
|
||||
break;
|
||||
}
|
||||
|
||||
strncpy(display_buffer, buffer, BUFFER_SIZE - 1);
|
||||
display_buffer[BUFFER_SIZE - 1] = '\0';
|
||||
printf("%s", display_buffer);
|
||||
|
|
|
|||
Loading…
Reference in New Issue