套接字 - 读写

时间:2015-11-22 20:21:38

标签: c sockets tcp

我使用TCP在C中创建了一个服务器和客户端 一切都适用于这种简单的读写方法(同样用于服务器和客户端)。

buf 是服务器和客户端中的全局变量。

好读()

rhymeWords:: String -> [[String]]
rhymeWords "" = []
rhymeWords xs = bsort (words (reverse xs))

好写()

void read_from(int socket) {
    int readlen;
    if ((readlen = read(socket, buf, sizeof buf - 1)) < 0) {
        perror("read");
    }
    buf[readlen - 1] = '\0';
}

我想确保所有内容都已写好,但我无法让它发挥作用 使用相同的读取方法,这将失败:

写错()

void write_to(int socket) {
    if (write(socket, buf, sizeof buf - 1) < 0) {
        perror("write");
    }
}

fprintf的输出(stderr,&#34;%d \ n&#34;,写入); 是正确的,所以坏的write()似乎写了所有相同的字节,但是接收器只读取我发送的行的随机一半。

非常感谢任何帮助!

0 个答案:

没有答案