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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
0 g) o8 g( _1 j" _8 d#include <sys/types.h> + ] I5 W: J# v5 r
#include <sys/socket.h> 8 [5 _6 S, z& M4 Y
#include <unistd.h>
* K% ~$ A, d5 }' l#include <netinet/in.h> . e2 f d; k0 i% B0 F9 f- v
#include <arpa/inet.h> 9 |+ _8 X+ X* R; m* k& S5 z. @
#include <string.h>
6 t6 v! D) _% B+ N* ^# `#include <stdio.h>
V: u. P- ?/ E2 [3 y" ?3 Iint main() {7 L8 i: ~6 q: U( e
int sockClient;
* k) W: J7 Y5 f, [ struct sockaddr_in addrSrv;
' C9 |- H& k1 z% P' t# x" d# T sockClient = socket(AF_INET,SOCK_DGRAM,0);
5 \& s; d- x% H, P addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");* h8 F& H9 U2 K2 h
addrSrv.sin_family=AF_INET;
1 [6 n7 i: ~( W8 R4 @! m addrSrv.sin_port=htons(6000);
. |7 p; T0 ~9 T3 I8 b$ k( B while(1)0 i# F% i" f& X" I7 ?
{: K1 O+ b3 O; {, R+ I* T5 }
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));+ e# p9 H1 s' x$ ]/ D0 |. h
sleep(2);
: [2 Y3 g5 k7 a8 G# I0 ` }
& F/ |# n6 G o& \, A) Q f close(sockClient);
/ O% d9 ^0 N# k$ y5 b: D/ N; a return 0;
8 U& Q& q9 ?! ?" _; W' _}
$ l/ i+ z6 U- Q6 T7 o* x" f. l8 `( K4 R2 ?- v$ \# \
" \0 K% t- I2 N客户端:- #include <stdio.h>
1 w, r% j2 q* r- ]; S - #include <sys/types.h> + _/ [' {1 m/ a4 H, w4 {) v) o2 G
- #include <sys/socket.h>
9 ^; q7 j# V1 q2 Q& c/ h - #include <netinet/in.h> 7 k* {! N1 L5 f! x
- #include <arpa/inet.h> ; v: l1 R! e, q+ @( m3 d( N
- #include <string.h>
* ?/ i: m# o. p+ w/ Z5 v - #include <unistd.h> 1 w; s. z P6 a5 p0 l/ @9 `
- #include <fcntl.h> 3 U9 }' Y1 _1 h
- #include <sys/time.h> ; Z9 r& c D0 v8 ~
- #include <sys/select.h> |: U7 X+ o( C" Q8 Q9 H4 z
- #include <sys/ioctl.h> ! C" z/ y9 }, ?# P6 M7 Y& r
- int main() {
5 Y% i; g8 \& V" j& t* ` - int sockSrv;
" D4 K; h+ |) n7 w4 V - struct sockaddr_in addrSrv; F% A/ h8 g& {' s( o
- int len;
6 Y4 T8 V0 b9 }) R - char recvBuf[100];' U0 T0 R7 Q3 O$ c( P
- scanf("%s",recvBuf);
$ F u4 D/ w, `4 e+ x0 ]& [4 R$ D. I1 [ - struct sockaddr_in addrClient;
& d9 L, ^; M2 K+ N; t. V" c - sockSrv = socket(AF_INET,SOCK_DGRAM,0);6 h" C! J' |: B s" I/ d
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
8 {+ G0 O0 X% [1 Y( c - addrSrv.sin_family = AF_INET;3 i; y4 F7 O0 s
- addrSrv.sin_port = htons(6000);
1 d+ [' U3 V: q1 |% v) h7 F3 ^) N0 n - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));. s% g% k( C% s4 L* R2 }+ s
- len = sizeof(struct sockaddr);: ]/ l. M" A/ _: Y
- memset(recvBuf, 0, 100);) Q, s C1 E7 e7 E7 _) P
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);; D9 v3 h+ m; S$ u, a, @$ D
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
/ c( M' s5 Z. A4 f - printf("Client data is:%s\n",recvBuf);' k" l" {) K5 m& C, n
- close(sockSrv);% h" l0 e2 S- Z3 t0 k
- return 0;
1 `) i3 x6 _" Q9 K2 M - }
复制代码
, d8 s; r( R# T/ ]# o, G; v$ @+ c. |& H7 s3 o" k& h6 w3 G8 t
. ?! k: Q- C5 ^ ^6 ?
1 \1 f1 \! O8 A. h* b5 S0 E" R |
|