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

楼主 |
发表于 2020-5-9 02:30:12
|
显示全部楼层
服务端:; m: s; r. }7 j8 V9 E! Q
#include <sys/types.h> # D( B, i3 ~+ c% x1 o
#include <sys/socket.h>
6 G: h$ w( v) Q8 Y: f#include <unistd.h> - h/ V9 o) J Y' T& A6 Q, L( K) f4 t
#include <netinet/in.h>
6 Y0 }$ J1 X3 [#include <arpa/inet.h>
* Q5 ]7 {3 V" q! M#include <string.h>
2 A& G; q0 m q* ?3 B: d#include <stdio.h> $ Y4 `0 p k/ e! ^% m) Y/ f T, a
int main() {9 g" F) g, d2 O$ X$ t
int sockClient;
1 j) N/ h6 { W3 h% ~ struct sockaddr_in addrSrv;
; y7 E1 s! e+ ~ sockClient = socket(AF_INET,SOCK_DGRAM,0);$ E( D, T" R/ ?; l' M$ \5 u
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
3 R% q- E5 W) n8 }$ c addrSrv.sin_family=AF_INET;8 s4 z1 d" C0 o& |8 ]6 j% \% P
addrSrv.sin_port=htons(6000);7 s; P0 o/ k E
while(1)
6 G; L$ Y7 ]* S% r/ V% T& m {
/ M: M3 ]( m! E% u sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
& m5 g9 C" X1 q# S( X sleep(2);6 `/ R$ ~( O9 ~0 g
} / p3 Q' m. F6 B, A: H
close(sockClient); # s" \! K: [( F; j; M
return 0;
, m' J2 s! q u/ G$ v6 i: A. C9 I}, u5 N* _' ~. Z" ^* Q& V4 i7 ?) }
" K7 K, x1 t' }7 c4 D5 ^2 _+ d8 a3 C% }* ^/ A
客户端:- #include <stdio.h> * l7 `4 ?" `7 W! }9 P
- #include <sys/types.h>
2 K' o) B) t7 n: E2 }' F - #include <sys/socket.h> ; ]. w* ?5 O4 Y. B1 D L0 Z
- #include <netinet/in.h> % w7 S% |, }5 [# b) H
- #include <arpa/inet.h>
6 E* m/ [$ b# z( g C; Q, {( U0 ] - #include <string.h>
9 Y; F! @5 J7 A4 d - #include <unistd.h> 5 ~! w. O% N3 D; B- s
- #include <fcntl.h> - X% e0 A# i. v9 B) h. \( W2 C
- #include <sys/time.h>
8 O; q% H3 T% V3 A3 g4 q8 V - #include <sys/select.h>
0 N- V* B# r+ t# C, \! H! n6 O0 I - #include <sys/ioctl.h>
0 |8 K7 z# Z3 V2 v1 m- o9 k; t - int main() {
0 g4 W, R1 q3 @% X. b: l# n - int sockSrv;
. q. \$ Y2 @$ p5 R3 v" M& X - struct sockaddr_in addrSrv;9 F, N, t7 H& `. }
- int len;5 |& `3 k( d* W) z! i' u, B
- char recvBuf[100];% g; m) F4 U/ _+ J
- scanf("%s",recvBuf);3 ^7 g* Y( u6 w
- struct sockaddr_in addrClient;
! r3 Q* L4 y4 u. b5 m$ z4 B. ^4 D; s - sockSrv = socket(AF_INET,SOCK_DGRAM,0);' ] Z! [( Y7 s1 J# B7 ?( v$ J( [
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);* E& ?; L P$ w2 N4 M' t# q
- addrSrv.sin_family = AF_INET;$ _' U$ w; @/ r3 z. d# ^
- addrSrv.sin_port = htons(6000);
8 g7 r- @! V" o* O. F) t- i - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));; c! l2 \4 J* S
- len = sizeof(struct sockaddr);4 @5 H1 x6 v2 h1 j3 t+ l# ]# N
- memset(recvBuf, 0, 100);
" B* V1 C- J. j$ `7 W! B. F - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);# b- N- l/ l E0 X; a9 b
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));/ b3 n/ j+ D# Y' o
- printf("Client data is:%s\n",recvBuf);, _ ?. ]: q4 y" w/ U) `
- close(sockSrv);
# w& v4 o9 r& |2 A( K3 J( G- W% e - return 0;
Z" Y# p6 T5 g9 P/ ]$ |9 R - }
复制代码
/ R t- n4 A7 M& u7 L' Q$ r7 v
: F. x; B5 ?0 D2 ^3 z5 J( i2 Y& |; o5 e# s R5 n' ~
, e( {2 G/ d; c7 Q$ {: e |
|