管理员
   
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
5 {* T, |) l9 f3 a" ]#include <sys/types.h>
K- J2 O3 p- o#include <sys/socket.h> 9 R/ v: O5 D! O$ n( A. o1 d
#include <unistd.h> 9 D/ q5 ~: ?) w# R0 S0 Y1 j( \. N
#include <netinet/in.h> * n- N" K: S( j) N* i n+ Y
#include <arpa/inet.h> + _' [4 Y% A2 g/ p: m6 M% h
#include <string.h> ! S5 e: `4 X+ N \# o1 s/ G% m
#include <stdio.h>
2 y- \( v6 n- h2 p- x3 y; X; vint main() {
, f/ e$ _, B" G int sockClient;
' z# K7 R, j( ]# B; ~ struct sockaddr_in addrSrv;
$ C$ j) [0 B0 W) P4 o) }0 @$ n sockClient = socket(AF_INET,SOCK_DGRAM,0);1 W9 K; M( k/ Q
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
) `6 q# s6 H V3 |- }4 e/ [4 p b addrSrv.sin_family=AF_INET;, Y- N9 h( k6 |" K' ]; N
addrSrv.sin_port=htons(6000);
1 {5 U& v" ]( p# ]& I3 w' [# | while(1)
0 g7 O, j! x' `; @6 N# X1 P0 ] {( _0 x% m- v5 D" S l" U L
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));9 c/ J! }7 b5 J1 c
sleep(2);; F0 o% Z. P7 C$ s2 E2 `+ I9 }
} " T" ?; p. Q0 k8 I- C C. P2 s7 F
close(sockClient);
$ t" N1 f k% k/ ?; q- {4 r return 0; 2 a4 B* f0 }. ^
}& n4 S, h b0 B- ?
/ I; ]- i2 }& e) A
1 I* f6 m' y' D Z4 C) T& X客户端:- #include <stdio.h> ) c" P8 {3 U" f/ K: |( F2 I
- #include <sys/types.h> ; b: t+ n3 m/ O( u5 V/ D5 e% d! K
- #include <sys/socket.h> , B$ E" F* t0 q( _' c, g
- #include <netinet/in.h> 7 B& ~+ U6 G& y! l2 R+ f, @
- #include <arpa/inet.h>
) K" K# V& k; d! y+ _& J" ^$ V1 @ - #include <string.h>
2 q1 m! Z" Y; m& h( W - #include <unistd.h>
' x6 D$ W7 S/ J* j5 J8 a2 U/ w' W - #include <fcntl.h>
' _* J8 s& ~+ ^ - #include <sys/time.h>
# S3 q( m8 t; g$ N9 H8 v1 Y/ _8 g! x - #include <sys/select.h> ) b% m4 r- P3 `- p' _" g* K" N
- #include <sys/ioctl.h>
; J: c& ?5 h( ]5 y+ G% w* n: ] - int main() {, P' f( R5 h6 s% ^9 U& k
- int sockSrv;
" R5 a8 l4 Y d2 w Q/ a s - struct sockaddr_in addrSrv;% a. q6 n3 d" `- u3 J
- int len;
0 I* u' k1 s |9 q) \ - char recvBuf[100];3 z! u7 K# [1 J0 W
- scanf("%s",recvBuf);2 ?8 A9 q- \" H
- struct sockaddr_in addrClient;* S, k' G; \& V: O+ k
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);9 \% k8 l- N7 P* q' {' M& Q3 @) ~9 K
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY); K* Q" b! t9 h/ ]( P
- addrSrv.sin_family = AF_INET;
2 g! [' k4 m: w: T - addrSrv.sin_port = htons(6000);, ]0 o. n9 R& R |+ k! j' T
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
* ] k" _( B/ p0 D+ d% O$ t - len = sizeof(struct sockaddr);
2 U( r+ @9 i r' N I9 [ - memset(recvBuf, 0, 100);
' Q& I# R, r1 K7 ^ - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);3 w; M9 T! d: T
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));$ ]) K# E1 b( e+ U5 r5 V; i
- printf("Client data is:%s\n",recvBuf);
8 S$ I; U& z6 h/ D8 { - close(sockSrv);3 O5 k; X) L3 x
- return 0;( X' G$ h' e1 R K
- }
复制代码
; L3 e+ I- c* U2 h' `# V1 q4 g4 n8 O2 N& o% R) @
4 `, l7 b* W- k5 D- h
5 G6 Q8 C) i d" \& j
|
|