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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
7 Y7 Q8 K2 l/ U( [2 {& z$ m8 _! D#include <sys/types.h> ' Q/ H3 r4 X3 |
#include <sys/socket.h>
3 s; F1 u; ?" R5 i/ w#include <unistd.h> / N3 H. k0 _7 R+ p: @3 n1 @8 m' Y
#include <netinet/in.h> / V3 l4 E6 o9 f$ g3 w* |" o4 r( N
#include <arpa/inet.h> ' Y* i: r% F- S* C
#include <string.h>
+ V9 s, e7 ~& F- \/ Q#include <stdio.h>
9 Z4 u* Q+ o; X/ M4 _int main() {* s- j3 e n9 L' `2 E# _5 {
int sockClient;
8 P S4 g* X* C3 y2 T struct sockaddr_in addrSrv;( ]# ~, ^# G, [( I
sockClient = socket(AF_INET,SOCK_DGRAM,0);/ d4 w p# H1 ^$ q
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");6 u; I+ r+ [0 a5 f5 x
addrSrv.sin_family=AF_INET;8 s% q3 D# |# C, t# T' G |- W
addrSrv.sin_port=htons(6000);( H9 a5 t% ]: p" y* [! ?& W
while(1) M6 H( M9 w7 c! y9 \ {. |
{3 [: Z& o4 v& {8 \
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
( J( t t% [' ]: e sleep(2);
+ l1 B3 g) o1 F9 i3 E7 @) \1 n } ) g, a; |& E' g! |" a
close(sockClient); 6 D5 y. F. l, ?4 n
return 0;
4 j$ g0 P# {* ^, e6 u4 f}% @5 r; I$ D. B( Y
( I" B V: m/ j& k) D
) J7 E0 d4 ~/ G q/ f客户端:- #include <stdio.h> ( J% @: d7 N' p8 y' V3 z% Y
- #include <sys/types.h> 4 ]3 J* j! v9 G3 K: T7 ~
- #include <sys/socket.h> " M; Y1 \+ b' a' w: C9 G
- #include <netinet/in.h> . c- o N: ^. h: v$ m
- #include <arpa/inet.h> 1 i) S3 Q0 [5 c! C
- #include <string.h> % y* a( Q5 B/ Y& }3 d5 w$ {& x% z
- #include <unistd.h> ) |$ {' t* Q* ^- M2 q4 G8 k2 J
- #include <fcntl.h>
8 d0 f' t( F1 }; a# ` - #include <sys/time.h>
. H/ E' Y# M, h: C; _/ K& _! y - #include <sys/select.h> $ k4 P, f" t. ]; X
- #include <sys/ioctl.h> 6 d7 ^, |% M1 Z5 F
- int main() {
+ F1 [& O' b0 ]% p2 F - int sockSrv;
/ H" |3 }8 N' J+ D$ | - struct sockaddr_in addrSrv;' L( H) A3 x* m( I% q1 N0 j7 X
- int len;
9 V+ \( x0 O6 [% a! O+ O2 O5 \& V; S - char recvBuf[100];
# l* M) R# C. l7 `9 Y0 M2 n - scanf("%s",recvBuf);# C' W8 k4 p7 D5 N
- struct sockaddr_in addrClient;1 j3 a9 r' q# ^/ |
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);' i; R7 u% Z# F, t) L& y9 T
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
( p' r0 L/ s# D' h5 C; y - addrSrv.sin_family = AF_INET;; @/ a8 r& n5 Q3 w
- addrSrv.sin_port = htons(6000);
5 k! J6 D# X6 [4 }1 `; ^# w0 Z# j4 t - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
" }3 E5 M$ G! o# a8 } ]1 F8 F - len = sizeof(struct sockaddr);3 B* f1 }# X. V. g6 m9 n9 x5 @7 p
- memset(recvBuf, 0, 100);: O! L* u; @/ r5 F
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
7 e, f- O" L$ R8 c+ {4 @ - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));1 X! u0 J4 M+ D- j$ L
- printf("Client data is:%s\n",recvBuf);
! H1 Z3 z% {' U3 K' V: [' Z9 A - close(sockSrv);) T7 q8 @6 E% _
- return 0;
( A; }* B$ B- |( C - }
复制代码
: H5 Q: S* A* x3 ~+ L% `' w9 U
0 `3 \7 }: Y0 H1 H5 r: C; l+ e( G4 s% p7 A0 u2 [) C
9 v4 i/ e: I) k, J# g
|
|