管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发
楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:& C( Y* j4 C: N% h% z
#include <sys/types.h>
3 @. C. Q5 i* L" ^#include <sys/socket.h>
h1 ^) P0 d3 y; l4 m#include <unistd.h> + {/ H1 M- B$ H/ _* e
#include <netinet/in.h>
0 |# V/ i- V0 M7 T8 [#include <arpa/inet.h> 6 K! h8 C9 f; t" @* Q+ |0 \& k
#include <string.h>
* p$ T1 O+ `% d% a% }4 T! C#include <stdio.h>
7 J+ j! B7 K) Y uint main() {) G" O. |" }8 Q1 Z* [- [! T
int sockClient;
$ n8 ]# F/ x# l7 C struct sockaddr_in addrSrv;6 ?4 l# b3 s; w- |+ i; n( N
sockClient = socket(AF_INET,SOCK_DGRAM,0);! e0 Y/ R0 J$ e8 h: N: {
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
# _4 h# c. [' ~5 f0 V6 g$ Z; a addrSrv.sin_family=AF_INET;! [& c% M: V' ?
addrSrv.sin_port=htons(6000);
9 }& Y) T! U% P3 C' S* P while(1)1 T" f$ w& V$ O7 f0 E
{/ l( u" u- C. j: H; w
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
9 k' H6 F& s; A1 j8 Z2 Z/ _ sleep(2);
8 v# y5 \/ s9 Y( J' G' C$ \! w } + s( ]* R: v6 L" p
close(sockClient);
l& w& y# p. b# p i) ~ return 0; % \, F! N: j" W
}
0 U6 T( W) X0 p1 V6 x, g
: n) u# h+ ^4 K1 `! k
; b5 s+ \- l& m: O0 U5 l客户端:- #include <stdio.h> 3 C I0 C/ y! f. g1 c
- #include <sys/types.h> # |- T, _" l4 h" p9 f# Q9 x
- #include <sys/socket.h> : ]0 R0 ^# x9 Z
- #include <netinet/in.h> 7 i7 {+ S$ Y& ]- X
- #include <arpa/inet.h> & T: V$ v2 T& ~5 k! b0 ?
- #include <string.h> 0 u5 _; u4 u! E) x: t
- #include <unistd.h> - ?2 N3 _9 ? g7 @
- #include <fcntl.h>
& H+ [4 N. C2 O1 N8 R4 X5 p - #include <sys/time.h> & x3 V6 B: i% i ^( k R
- #include <sys/select.h>
% J% y! ~+ d9 c( P' R - #include <sys/ioctl.h> ( i. A. w' P& Q3 L
- int main() {2 F3 k" A/ ?. x2 P1 h" t
- int sockSrv;' v1 c9 D: w: y/ o" l
- struct sockaddr_in addrSrv;, M3 h' e, n/ v$ P6 ^ V- |; F* h8 S# l
- int len;, e1 J0 d5 ~$ _) ~
- char recvBuf[100];4 @1 |% Z1 J- Q8 v& k u1 s
- scanf("%s",recvBuf);$ ^* }' c: O% G f$ X% L0 O
- struct sockaddr_in addrClient;
2 H3 i# k' j6 Y5 d' L% B2 f - sockSrv = socket(AF_INET,SOCK_DGRAM,0);$ U4 L. a7 m9 ]$ N1 K8 ?8 o. a$ X
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);" z0 j1 a6 x8 l2 f) E7 C; y! L% x
- addrSrv.sin_family = AF_INET;
: b+ [5 g% W5 G, g6 Y - addrSrv.sin_port = htons(6000);
$ J2 d* o2 u2 [' |- | - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));4 G6 [! z- q3 v
- len = sizeof(struct sockaddr);
8 J8 n) H4 I- W' p - memset(recvBuf, 0, 100);; V4 w3 ]0 t: @" |1 P/ D
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
2 D; u* `$ r8 Y( @% ^ - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
/ Q. J/ ~# @! I* p( T - printf("Client data is:%s\n",recvBuf);8 r; I9 T' v$ Y$ r
- close(sockSrv);" T( B" ?2 K$ D$ T+ E
- return 0;# a9 I" T* q" b" Z/ p0 ^
- }
复制代码 , n- O8 n6 P4 Q7 K, D7 }0 A
$ |3 p" Q1 k$ J) v; N2 t
" z" O$ i) \/ p* U; t
! q- g" C; G; X' i% i6 G |
|