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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:3 D: G J+ w/ y& }
#include <sys/types.h>
@; \1 B' j8 P3 F$ ^, c#include <sys/socket.h>
. R7 M' t4 v3 b+ q#include <unistd.h>
" g1 B7 V2 P; b* d ^! F#include <netinet/in.h> 4 d) J$ F. S4 ]; q
#include <arpa/inet.h>
8 O) w; y2 ~" Q; ?7 S& O#include <string.h>
% z$ U" C4 I: @$ R- ^#include <stdio.h>
/ M3 O5 A) k Iint main() {. j; O& S, U$ [' r! R0 D
int sockClient;7 q0 z2 d; K% F' p
struct sockaddr_in addrSrv;
, p! P. |$ v& {6 H5 @ sockClient = socket(AF_INET,SOCK_DGRAM,0);0 i/ P0 K1 S: `/ m& m3 d) ~5 ]
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");" E9 l4 A1 |2 }
addrSrv.sin_family=AF_INET;, v. p& f3 L! ^. a2 I/ E4 n
addrSrv.sin_port=htons(6000);
0 t$ D: j7 w3 h y4 X- d6 P while(1)" Y1 v' k4 l/ k% h- n" e
{
" A! P$ [9 u9 D% g9 L' } sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
, d) e: Q" e1 A0 G! o2 u sleep(2);
' c, l3 |1 G1 ~% F* k: h } 2 A1 R7 W- r/ D2 l6 T# w. }0 ~$ ]. R
close(sockClient); 9 c6 W+ G" m7 W: n, ]4 N# d7 ]
return 0; # _' X( L5 m! P _. F% p
}5 O# G. |" u& |" s* ], m3 P9 ]0 Y+ F
, A$ U7 b; f( C
3 N; x* }" w$ c0 y; }
客户端:- #include <stdio.h>
5 `- p0 d8 p3 M0 Y9 A - #include <sys/types.h> 9 w% x4 g9 W- |3 e* [5 @+ f6 V
- #include <sys/socket.h> . {+ j5 T! S2 {
- #include <netinet/in.h>
: Z* q+ m# y8 R) E; P8 S2 ^. c - #include <arpa/inet.h>
2 a: y. z) `" v( I$ Z; f! V2 j - #include <string.h>
0 u1 r4 @% D1 f2 |/ Q - #include <unistd.h> 8 U% q' ~" S( h/ x* P( N1 m5 U
- #include <fcntl.h> " S8 f8 G5 h2 }4 Z c7 H) t
- #include <sys/time.h>
v( Y) K' a4 n L2 w) X1 X - #include <sys/select.h> / B" _; K/ h2 ]0 p) f
- #include <sys/ioctl.h>
% L( [& w0 j' Q4 X5 I0 w - int main() {7 o9 d' t5 y! y6 U: e/ p
- int sockSrv;! `$ b9 L; _5 j: m) d
- struct sockaddr_in addrSrv;
3 o1 s8 k! z' k9 f4 J$ z2 e - int len;
9 ]" i' b: V1 z, x - char recvBuf[100];
/ H! Y' t1 W% a! `' z! Y8 x, z7 q - scanf("%s",recvBuf);
( E, t+ o, z4 w: x" i* [ - struct sockaddr_in addrClient;
6 a. k0 f/ U; x- Z - sockSrv = socket(AF_INET,SOCK_DGRAM,0);7 N* z; n a% `9 s' O x
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);* r U2 g4 O; I! S
- addrSrv.sin_family = AF_INET;
* ^! e! O3 { o$ R - addrSrv.sin_port = htons(6000);
0 V# t' { t+ ]9 B7 T" a2 ^; W - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
; w" s7 X& J9 ^/ y$ } - len = sizeof(struct sockaddr);5 _) K) \0 u9 ~8 S& K
- memset(recvBuf, 0, 100);: k: z7 w& m7 k5 K- E
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);! u* r2 z2 O$ n
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));- }8 L1 `3 D0 w# ?) Y: L3 g
- printf("Client data is:%s\n",recvBuf);6 H. B3 Q" Y) Y2 ], m E
- close(sockSrv);
- Y+ ] K2 M* K% b/ n - return 0;
- v8 Z% B" ]1 Q6 e' \9 w - }
复制代码 ' G7 t# ` u' X5 Y
; u& h; S; b4 [' g9 {5 h
- [( n4 o( D/ f! E3 [% V4 I: M- ]) k8 K6 b/ t7 a" S
|
|