私は初心者で、Linux で C++ を使用する最初のステップを作成しています。だから私はソケットについていくつかの仕事をしています。私はガイド、特にこれに従っています。また、コード例が機能していません。私はこれから始めました:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#define SOCK_PATH "echo_socket"
int main(void)
{
int s, s2, t, len;
struct sockaddr_un local, remote;
char str[100];
if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) == -1) {
perror("socket");
exit(1);
}
local.sun_family = AF_UNIX;
strcpy(local.sun_path, SOCK_PATH);
unlink(local.sun_path);
len = strlen(local.sun_path) + sizeof(local.sun_family);
if (bind(s, (struct sockaddr *)&local, len) == -1) {
perror("bind");
exit(1);
}
return 0;
}
それをコンパイルするには (Code::Blocks)、もう 1 つインクルードする必要があることがわかりました。
#include <unistd.h>
しかし、実行が成功した後、「バインド: 操作は許可されていません」というメッセージが表示されます。なにが問題ですか?ルートで実行しようとしましたが、まだ機能していません。