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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:+ y, ?3 l5 I3 k1 k1 I: B+ \
#include <sys/types.h>
- P, Y6 J6 D# E/ _' [: Y8 G, \8 w q#include <sys/socket.h>
# E2 ^5 _6 t! A9 `0 x- K#include <unistd.h> . \% W7 s! z/ |: ]" w. P
#include <netinet/in.h>
- Q$ \' w: y& g6 D#include <arpa/inet.h>
3 D/ z9 Y) N/ p) F#include <string.h>
! l* j, c) P" ]& y$ C: a% O#include <stdio.h>
) s- s3 i W/ [& E1 U, x! ?1 |5 pint main() {
9 L. S; {+ y5 p! M- K% H int sockClient;5 ^$ u( ?, Q- N1 s- k
struct sockaddr_in addrSrv;
. M8 }2 x2 P4 G1 Y; _4 I sockClient = socket(AF_INET,SOCK_DGRAM,0);
: m/ V5 k2 P0 O% p) i' p addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
: k- F2 m. k0 A u$ Z. H% N addrSrv.sin_family=AF_INET;
3 b6 ^: {1 l8 a: k2 v addrSrv.sin_port=htons(6000);
( ]4 M o9 f6 ` _. I/ p& q; c5 F while(1)
) b$ F5 T# ^0 m9 j! V5 m1 J {/ k6 m. M7 K2 k% u
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
7 V, l- |) ~4 _9 t t sleep(2);
6 D0 g- b+ h b& m! d* g0 f7 m/ [# M } , D7 I: l/ N7 R4 ^- t
close(sockClient); 9 N/ S0 m& W8 Y* ^
return 0; , J$ J8 l) v; d, b! w0 X3 j7 d
}& Y" f$ \! K, @8 K; N( ?+ B
6 q4 s! A9 j: ]$ |( A. o; [+ ^7 s- r! D1 [, M9 C( n# p4 R! r* E" b/ D
客户端:- #include <stdio.h> m& b" y: X ~! z. L' |
- #include <sys/types.h> 5 Z3 m" L; B! d, M
- #include <sys/socket.h> * ?# z; j O2 O& g( N( Q
- #include <netinet/in.h> 4 ~( U; j& c3 N/ X
- #include <arpa/inet.h>
' G, i" j" @5 {% n, f - #include <string.h> , T; g) f( \ ?
- #include <unistd.h>
' y# A. f' n8 e7 x4 m# B" H8 D; ~/ E - #include <fcntl.h>
9 G1 ?5 b; r/ a ?# J - #include <sys/time.h> ' D# A1 x: z; w4 {+ ~
- #include <sys/select.h>
6 d6 }7 p, p0 m - #include <sys/ioctl.h> % `. V9 n) O! y$ W/ A$ m7 a
- int main() {
1 O, N( I& y5 d6 x - int sockSrv;
+ P* Z9 U" d# o; t5 l4 J2 L - struct sockaddr_in addrSrv;
" D9 P- f k3 ~ - int len;% V- V: z1 V0 E: w
- char recvBuf[100];
) b! N, C( s! \ - scanf("%s",recvBuf);
' ?- J$ }' U7 m& q4 W# j8 s - struct sockaddr_in addrClient;" y# V# w4 Z' g
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);
' g7 o8 H$ z5 r9 Z; r - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);1 h& G# n9 R' N* \, u2 |
- addrSrv.sin_family = AF_INET;% p2 D- h( V8 I! O* S+ r5 c
- addrSrv.sin_port = htons(6000);
3 |3 e4 _2 J8 ]9 X3 Q/ B! l# Y - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
% S8 Z3 {; x. V7 V9 S - len = sizeof(struct sockaddr);
: }2 f6 Q. P' _) }: p - memset(recvBuf, 0, 100);/ l: a% E) u! V- r }$ C0 w% v3 X
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);. Y4 b% s- n, b4 [
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));3 f t1 v* h9 z: b
- printf("Client data is:%s\n",recvBuf);6 e5 d8 J& q$ T2 Z; ?
- close(sockSrv);, \0 j" k5 G+ t; O+ d0 S6 |6 N1 [8 y& ]
- return 0;
6 }3 U3 H& t4 o' C - }
复制代码 ( g7 C6 O! k- { o; J+ U4 _
~5 t3 M- q" t$ j1 n
/ w6 _; h2 x7 U6 u6 S0 l, V0 E* u' }
|
|