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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:5 M9 w) s, c+ k' J4 }# {# }% f
#include <sys/types.h> 8 F8 n; s4 M1 w$ p2 @
#include <sys/socket.h>
( S: [3 s$ w* F; N* u: J#include <unistd.h>
1 [1 X" J; b2 A% N" t( j- D#include <netinet/in.h> 9 }( G5 g% m% l" c* p, i* _
#include <arpa/inet.h> ; P+ c! l* ]/ w+ k, n+ S
#include <string.h> ! D5 q+ t [0 X
#include <stdio.h> % Y8 f# f6 q) E4 U
int main() {* I$ u+ q0 ^" u: R% x: `2 r+ |% h
int sockClient;( [. ?4 l. U0 P( l! z7 k
struct sockaddr_in addrSrv;7 h" [8 z, \, m/ e K: D
sockClient = socket(AF_INET,SOCK_DGRAM,0);
0 J2 i7 P. m8 f: q addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");; r# Z2 I. Q) D2 ^. @: Z
addrSrv.sin_family=AF_INET;
4 V- z. _8 n o( _% x addrSrv.sin_port=htons(6000);
" e8 ^: ]- Z+ n& r while(1)
) u$ y- J/ w$ I% s/ C! O+ q, F {
- S0 d e0 T3 X7 k sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
& p5 x. z9 ^) Z( O: | sleep(2);7 E2 I) l$ ^9 h! z
} 9 _% I8 W2 w8 n4 r9 }
close(sockClient);
. u6 |) ^& r: f' b3 k0 f7 g8 \ return 0; 3 C( O1 m, ^$ _2 P( R+ @: j
}6 T- q+ n# T9 q! ~+ ]: [ l
8 h. M4 v( D5 _
, P+ X: y8 f6 z1 K. ]0 M客户端:- #include <stdio.h> . ]7 `8 q9 u2 A) a
- #include <sys/types.h>
& D. T/ B, U1 N; w _ - #include <sys/socket.h>
! T% y& C0 t0 U7 j8 C6 s - #include <netinet/in.h>
5 i# g- D6 z x: w5 d3 [ - #include <arpa/inet.h> & \5 `1 G O, m( }/ J) r2 `
- #include <string.h>
7 a+ d Q, |0 C - #include <unistd.h> . ]/ k5 Z3 h& E' K5 k8 }( K
- #include <fcntl.h> v% d3 P( v# J7 A
- #include <sys/time.h>
0 \# Y1 g4 c0 d - #include <sys/select.h> 9 q0 s+ c9 z ^
- #include <sys/ioctl.h> ' i" y6 n, S6 _! u# U" X
- int main() {5 j# b0 I! y, j9 l+ _. }; [
- int sockSrv;. P: q5 s( N# i8 Z3 g
- struct sockaddr_in addrSrv;% E: o2 \0 A: O Z! |9 u
- int len;
4 T5 {9 R# k% }7 O4 M, y- J5 w+ N - char recvBuf[100];# {, [) M- Y9 Q; p* m0 @
- scanf("%s",recvBuf);
e2 i9 y- B# x - struct sockaddr_in addrClient;
, V; l4 ^4 z( w+ r! e+ Z5 ^9 u - sockSrv = socket(AF_INET,SOCK_DGRAM,0);
6 e% n& \, `+ H( `0 {' `2 h - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);8 u- c7 g1 K0 o
- addrSrv.sin_family = AF_INET;$ K6 ^8 R2 q/ e0 r8 s$ [% Y
- addrSrv.sin_port = htons(6000);0 s0 I% d! B9 P W5 J5 g
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));7 e7 l" p/ U, h( L+ t5 R
- len = sizeof(struct sockaddr);
Z" N6 N) V6 d( W- I& X: Y4 y4 s - memset(recvBuf, 0, 100);
" u: j5 l( w2 ] _8 B- R$ W5 o+ \ - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);% S8 t0 M: w6 Y' q/ r1 I* B4 u ^
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
- \. f$ [, f" s. u( } - printf("Client data is:%s\n",recvBuf);( D8 W- J. o5 s- R8 d5 m( `: T
- close(sockSrv);
) f3 p& I# U- O+ z9 Y0 F9 _, _. M - return 0;
) N1 {" y$ f# I6 W! R - }
复制代码
4 Y1 w, q! ~2 I* O& M7 j L, K z- L7 p: ^
- Z4 H; g5 q/ V# \
; c# T7 L" X- N, A- G
|
|