管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发
楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
3 O3 r- d# m6 Q. J) P#include <sys/types.h>
- @7 ]3 b1 i0 x#include <sys/socket.h> ! n. j$ s' h4 |+ J4 H
#include <unistd.h> . j5 N* {8 M' H+ g0 f( g
#include <netinet/in.h> + U4 I3 r! _" }- }5 ^
#include <arpa/inet.h>
& m# b$ S7 p- r1 m/ P#include <string.h> " C! |# ]9 g) u3 K) r% J+ P6 [
#include <stdio.h> 6 b7 ^' K$ E0 L0 V @
int main() {: m3 ~( o, T/ j& n( C. W
int sockClient;
i. M3 _" Y. @$ k struct sockaddr_in addrSrv;
3 ]) J; h9 R `! H$ [! x/ p* \ sockClient = socket(AF_INET,SOCK_DGRAM,0);
- D6 D' [: `1 S addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");' R( {) p. i2 v" m2 b) @; I/ R
addrSrv.sin_family=AF_INET;0 X8 |4 J" }1 k$ \1 x$ O: d+ O
addrSrv.sin_port=htons(6000);/ x$ y+ X! P. Q# y
while(1)2 F# r- ` |' D7 P; k
{" [0 R, D: c1 Z3 d1 S
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));# u9 ?2 p, R+ c9 g4 L* M# \7 E. J4 D4 d
sleep(2);7 U) Q. G% ~5 x% s' \# u
}
/ c/ H/ N* k3 b: y close(sockClient); ) Y ^) O5 S: `1 `" F
return 0;
% X: k) Z7 Z2 p9 d: ^) z}- j) B8 _0 [, s
' ^: @! a, y/ a# o9 G
3 E2 y) w+ g5 v1 B: c客户端:- #include <stdio.h>
) u% Q# J$ X p- \/ _" i, U/ b - #include <sys/types.h> , [' J* i$ C$ k* C) ^
- #include <sys/socket.h>
+ k- Z: y( G) t3 T& d Y) { - #include <netinet/in.h> $ R" P2 [$ o, g3 s' i/ ?
- #include <arpa/inet.h> # [" i8 w, D0 H2 K2 w
- #include <string.h>
' O4 H( b0 @" F! J* v - #include <unistd.h> : f5 q6 K# n0 ^9 q
- #include <fcntl.h> 5 a; J. _. h; l2 H1 J
- #include <sys/time.h> 5 p; i8 v2 F9 _6 F
- #include <sys/select.h> / N. z6 u% O- [
- #include <sys/ioctl.h>
! R D. t9 f& G+ ^ - int main() {$ S' d* B+ W, m/ [/ e
- int sockSrv;( c+ [1 A9 x- }" F. s1 ?
- struct sockaddr_in addrSrv;- X" o X- a9 g' Z6 |% Y
- int len;$ ?1 _3 S% G* b* G
- char recvBuf[100];! w, z# i+ U0 E5 J4 [ b
- scanf("%s",recvBuf);) E. R9 \. x6 N. C5 m/ G
- struct sockaddr_in addrClient;: ?/ W: k q8 I3 f
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);3 F! G3 N- q' y3 ?* |
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);! k% y$ g8 m" c$ Z$ r9 c
- addrSrv.sin_family = AF_INET;
" K. ?2 q$ ~: W; U# X. ] - addrSrv.sin_port = htons(6000);8 }, Z8 f3 |' X) z1 S
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
; B( c# ^, a2 s/ Q - len = sizeof(struct sockaddr);0 Q0 O/ m! I% M. i7 K
- memset(recvBuf, 0, 100);6 T- B7 J" N0 e3 E. h
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
3 z6 L1 V. q* `0 {4 Q% G r - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));/ L* K! z- U0 o% t
- printf("Client data is:%s\n",recvBuf);+ j5 F; a8 g4 g& s
- close(sockSrv);2 ~6 U0 y: l7 E/ y2 l [- R
- return 0;& m) m6 j& o+ ?
- }
复制代码
+ w7 t* I: G5 Y9 u* v6 y Y7 C$ k
* N2 J7 L) @. T* g4 L% a- i- p' |
6 Z/ s. i- g9 y) ^3 h
|
|