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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
+ L8 G: [1 G: D( W! I* t! o# @#include <sys/types.h>
& D- g, T/ g9 i+ X6 K+ W" c#include <sys/socket.h> : \9 g% J- `- U8 h
#include <unistd.h> 8 k t" \/ {3 c: [9 L
#include <netinet/in.h> & x. B" ~, q( |. n& G/ j$ K" f
#include <arpa/inet.h>
0 Q/ i7 G, k, f8 M#include <string.h>
8 w$ J' V3 T# y#include <stdio.h> + T3 q$ |% A9 I+ F; H! p2 a6 B
int main() {' a4 m) V/ x& k! f6 c. e
int sockClient;$ a: L! U! y; k9 f
struct sockaddr_in addrSrv;# S, O7 Y! G; O
sockClient = socket(AF_INET,SOCK_DGRAM,0);, i, E9 @( ^/ B2 A8 H& y7 D' U
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");) i+ v. f8 T- _. a9 i6 X/ F/ s1 b
addrSrv.sin_family=AF_INET;, }& }! C! c0 p% ]1 v
addrSrv.sin_port=htons(6000);- X3 ]6 p( }: a3 ~+ Y) t: A% V
while(1)
' x5 N$ k& T' l8 p {& E; p W5 V% r+ ^
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
: E1 V% p. ]$ ?" O' g0 K6 A sleep(2);
* F( Y7 H) W/ P Y4 v9 D( H- y }
# F/ L9 x/ q8 r5 x2 F close(sockClient);
$ k M" ?' k; n. N return 0;
4 e1 \, h5 D; \# b}
; ~; ^+ }' T$ G
, r$ Z, K1 j7 J, ?$ L- w2 d9 l( p) k T6 N8 F: u/ m
客户端:- #include <stdio.h> ; y9 z$ N. }6 {% a
- #include <sys/types.h>
# ]& W. a4 ^& I9 G: t. z/ r - #include <sys/socket.h> 2 x, Z* K2 Y9 _8 f! Y
- #include <netinet/in.h>
C3 Y) I! s3 V& l( t; Q - #include <arpa/inet.h> + @9 r* O* F# _: n$ [# t- L
- #include <string.h>
$ ?/ F& a. F6 t - #include <unistd.h> 5 [2 v# D6 @; T- @9 k
- #include <fcntl.h> , X8 S: E8 k7 Y) x
- #include <sys/time.h> 7 E. z4 t9 |& w- a& q6 M
- #include <sys/select.h> 6 O5 I; c* T- e/ m/ l' o0 u
- #include <sys/ioctl.h> # S1 Q( R9 V+ y# j0 ?
- int main() {
6 J4 x0 i: p& M( ?( Q2 { E" e; K - int sockSrv;
: j. B# B6 B( d: U' |+ T# r - struct sockaddr_in addrSrv;9 \, j" _# `( ^; n B D6 ^- L- |2 k
- int len;
# h# u+ v7 Y7 o9 C8 c5 k- l - char recvBuf[100];
6 O- x6 i% P' j: u( x2 G - scanf("%s",recvBuf);
q9 v6 d( B' g - struct sockaddr_in addrClient;$ e. s- h \5 E7 q4 I
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);% _' o' G8 }0 I* G6 y" P' T" E
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);1 W2 r5 ?8 Y- x1 J/ n
- addrSrv.sin_family = AF_INET;1 E% ~9 M7 e" I% r" ?7 I
- addrSrv.sin_port = htons(6000);: Z( k" |$ d9 ~; f
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
/ d- L! h( D6 O4 ` - len = sizeof(struct sockaddr);
- i6 C n6 \ v! w1 i - memset(recvBuf, 0, 100);
$ w1 i: G/ `5 H5 Z4 }' h - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
6 K4 \: S* q1 B% L5 H' ]5 H - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
$ B- h3 X! J1 e - printf("Client data is:%s\n",recvBuf);6 T1 }9 ]4 }! z" k+ ?2 \0 i
- close(sockSrv);. m: |' {6 N2 Z9 r5 `7 M$ {
- return 0;
! v5 G' [9 G3 ]8 x- }! X - }
复制代码 ; R4 ~/ u, a, M0 D* T) y/ {9 ^3 m0 e/ O
7 j9 r* y: b3 `/ W0 `$ M4 I. q
h9 p6 h$ ?6 R+ s) h O
$ O0 W% `: c4 _9 Y; F7 ?& _* ^6 W |
|