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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
# T1 l6 ~: D5 ~5 K# o, N: C#include <sys/types.h>
' L0 w6 G! v0 l* L/ l/ h#include <sys/socket.h>
d( l, |7 a5 O5 L2 b: m#include <unistd.h> 3 m* F" K) A6 V+ m
#include <netinet/in.h> + W- r6 f' g1 r8 g5 o
#include <arpa/inet.h>
- A1 e- j7 \& R" r1 i; x; f#include <string.h>
' n" n ]0 q$ l/ }: a( {9 _#include <stdio.h>
4 A' I- U- k3 m1 W8 }( ]1 I9 \ x" Bint main() {# l v( \" p$ I+ ]
int sockClient;
) [! W9 g3 i4 u3 |! t! n8 D* s struct sockaddr_in addrSrv;/ {8 f# `/ R- w% |* @
sockClient = socket(AF_INET,SOCK_DGRAM,0);
# J$ x. F+ a# b, K/ y, S addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
2 N1 z! J) e, t addrSrv.sin_family=AF_INET;
: D l; H. @# W; D1 a7 q0 ` addrSrv.sin_port=htons(6000);5 I' ~3 A) Q4 z% z
while(1). ]8 C4 [" x! ^$ C& I, w6 ^
{+ h' h g) u3 z# b9 u5 e: W
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));7 n8 {' l8 o3 U, h* Y$ B
sleep(2);
2 y, E* N' Y+ u& o& D }
- E0 L" E: ~' C3 i5 L% G close(sockClient); 1 d. ^' [/ b7 D6 Z- A
return 0;
- E9 {; B4 ]& c2 a}6 F, ]% }' W0 V$ q1 P. X
$ P3 B! }6 y, {- J8 R+ P7 Q* S) J5 [
客户端:- #include <stdio.h>
4 Q+ X2 E4 p9 L" ]3 s - #include <sys/types.h> / v% {+ T. ]& o) @/ v& k
- #include <sys/socket.h>
. o+ p' T: V' a% p7 ^ - #include <netinet/in.h> 6 b/ W6 I$ g9 X, D
- #include <arpa/inet.h>
( P7 @3 z( B) ~5 v1 G I6 q. [ - #include <string.h>
+ Z2 I$ [3 G! m& b( G2 E4 ~ - #include <unistd.h>
; ~: J0 g1 Q9 u, x - #include <fcntl.h> % q8 [2 L `" o2 t, Z' Q
- #include <sys/time.h> / g! z! T/ H8 V' @5 I# i) d8 x
- #include <sys/select.h>
; x+ R- H6 D: m2 u7 I: c - #include <sys/ioctl.h>
: q+ \5 l$ C9 N - int main() {( v9 M, W/ t4 `# H/ X1 _
- int sockSrv;) L$ T3 J \( k! W p9 W
- struct sockaddr_in addrSrv;% E; F9 K" E. h+ N4 d
- int len;
" i4 |$ Y* h. }/ C3 b! K, _ - char recvBuf[100];" r) r* q, D- p, l
- scanf("%s",recvBuf);$ \1 c0 a3 D; v& W3 `7 f' Y
- struct sockaddr_in addrClient; m5 s4 d, C9 X3 c Q
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);# f# E' ~3 m9 p& o; b, U
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
+ c" U3 x# u) |* d - addrSrv.sin_family = AF_INET;
P" W, p3 ?0 g- z9 y5 W) k+ @- _ - addrSrv.sin_port = htons(6000);
) l* Q5 d$ C ]1 d+ t - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
/ y- [* V; Z. @. Q9 _ - len = sizeof(struct sockaddr);
) h, F7 K" Q6 Y& e( Q - memset(recvBuf, 0, 100);
# _! x& H8 ]5 V3 y: p - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);, c( C( w7 T1 q5 }% J; B
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));1 `, s8 u' h! ?, ~! W( C
- printf("Client data is:%s\n",recvBuf);
# `' c2 L' d) ?7 i" Z - close(sockSrv);$ W8 Z* G- l: K- a# L3 F7 n+ H
- return 0;# X6 T1 p- i& k
- }
复制代码
0 ~6 I$ O) |& k7 U+ k
; \; Q2 s( f$ S9 |
" w/ S9 _0 L7 O, c( [# w1 o/ ]. F, V+ u- |' J
|
|