私はちょうどソケットの基礎を学び始めました(Linux)。私は小さな例で私の手を試しましたが、うまくいかず、何が間違っているのか分かりません。ソケットエラー:接続が拒否されました - 何が間違っていますか?
「接続が拒否されました」というエラーメッセージが表示されます。
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
int main() {
int c;
c = socket(AF_INET, SOCK_STREAM, 0);
if (c < 0) {
printf("Error in creating socket! %s\n", strerror(errno));
return 1;
}
struct sockaddr_in server;
memset(&server, 0, sizeof(server));
server.sin_port = htons(1234);
server.sin_family = AF_INET;
server.sin_addr.s_addr = inet_addr("127.0.0.1"); //local host
if (connect(c, (struct sockaddr *)&server, sizeof(server)) < 0) {
// Here is my error
printf("Error when connecting! %s\n",strerror(errno));
return 1;
}
while(1) {
char msg[100];
printf("Give message: ");
fgets(msg, sizeof(msg), stdin);
send(c, &msg, sizeof(msg), 0);
char resp[100];
recv(c, &resp, sizeof(resp), 0);
printf("Received: %s\n", resp);
}
close(c);
}
EDITもちろん
:
は、ここに私のコードです!実際にサーバーにエラーがありました。私はクライアントがメッセージを送ったことをうまく見つけたので、私は自分の見解を狭め、サーバーを振り返ってみることもできませんでした。
エラーが私のサーバーにもあるように思われるので、私は別の質問をして終わるかもしれないし、ここにリンクする
Serverは(12345)を聞いていた...
ポート1234でリッスンするプログラムを作成しましたか?前にnc -l 127.0.0.1 1234を実行してリスナーを作成してみてください。 – fuz