udp通信がしたく、サイトを参照し、以下のように途中までプログラムを製作しました。そして、gcc -o udp_recv udp_recv_test_3.c -lsocketと入力したところ、
-lsocketが見つかりませんとエラーが出ました。どのように対策したらよいでしょうか。
また、struct socketaddr servSockaddr,clitSockAddr;の文字列で、servSockaddr,clitSockAddr共にstorage size of '構造体の名前'isn't knownとエラーが出てしまいます。こちらもどのように対策したらよいでしょうか。
//参照元:https://qiita.com/tajima_taso/items/fdfed88c1e735ffb41e8
#include<stdio.h> #include<sys/socket.h>//socket().bind(),sendto(),recvfrom() #include<arpa/inet.h>//struct socketaddr_in.struct socketaddr,inet_ntoa(),inet_aton() #include<stdlib.h>//atoi(),exit(),EXIT_FAILURE,EXIT_SUCCESS #include<string.h>//memset(),strcmp() #include<unistd.h>//close() #include<sys/types.h> #include<netinet/in.h> #define MSG_FAILURE -1 #define MAX_MSGSIZE 1024 #define MAX_BUFSIZE (MAX_MSGSIZE+1) int get_socket(const char *); void socketaddr_init(const char *,unsigned short,struct socketaddr *); int udp_send(int,const char *,int,struct socketaddr *); int udp_recv(int,char *,int,struct socketaddr *); void socket_close(int); struct servaddr{ }; int main(int argc,char* argv[]){ const char *address=""; unsigned short port=(unsigned short)atoi(argv[1]); struct socketaddr servSockaddr,clitSockAddr; char recvBuffer[MAX_BUFSIZE]; int server_sock=get_socket("udp"); return 0; }
回答2件
あなたの回答
tips
プレビュー