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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
) R7 ]4 [" d, I8 {#include <sys/types.h> $ V/ c K ^; X3 E
#include <sys/socket.h> ( H: d/ K! T' X1 V, a
#include <unistd.h>
+ i" y& ?; Q* U, S/ V( g#include <netinet/in.h> / X& H: w# i8 c1 H4 |7 q* s
#include <arpa/inet.h>
" l# w8 L5 C2 k, e4 v! m9 q#include <string.h> % j& X7 o6 B- q
#include <stdio.h>
6 l( ^, {: S( I2 a/ G5 h: gint main() {2 c) E8 U% }' Q6 x1 B: { x
int sockClient;, a# q. \# h# _" J8 D) o
struct sockaddr_in addrSrv;
* B6 N% U6 e/ k( b8 R sockClient = socket(AF_INET,SOCK_DGRAM,0);9 S8 ]3 e' J7 M" C5 R
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");# j& b4 F6 h f2 L" [& X( C/ G
addrSrv.sin_family=AF_INET;0 B# M& z& j7 ^ ^
addrSrv.sin_port=htons(6000);
% n2 n) {4 D8 C5 S while(1)8 w/ P h2 b- H8 _: i3 _4 M+ _
{
+ @3 \2 h- Z: X sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));! L7 `9 x9 t- g6 {% e6 r) p
sleep(2); K1 i- V$ h. h. A+ m9 L
}
; E. Z8 G! d( C: K& h& j, V close(sockClient); " b2 L. F7 b" u J. g" j
return 0;
: O: @/ T% j& G. `* u4 H}+ j) Z5 ?& r# d* A
( ~& P/ T) S. t% t/ K0 J* Y, v; R% F6 C
客户端:- #include <stdio.h> ( Z/ V- _0 a8 s* p/ t' }
- #include <sys/types.h> 1 Y. v" u& h' ^& b
- #include <sys/socket.h> : }% t$ P$ d% {' u a7 l1 g
- #include <netinet/in.h> : o$ [+ c p% \. i% t
- #include <arpa/inet.h> - ~. a) J' [) M9 A) g
- #include <string.h> 0 q. z" ]& ]& X" m
- #include <unistd.h> 7 v2 S8 j. t) }$ u
- #include <fcntl.h>
0 W$ S9 c: f; l# p) H; E2 w0 h - #include <sys/time.h> 0 f" p& z l5 `2 f
- #include <sys/select.h> 5 N7 S& [4 B! p& k5 z1 E
- #include <sys/ioctl.h> 4 o' p1 n+ g( s1 j4 D6 b# B$ g) u( X
- int main() {6 k9 }: f$ C* n2 _9 m! {
- int sockSrv;
% o5 Z* f' |- ^5 s1 m0 M5 L: h. H9 O - struct sockaddr_in addrSrv;
8 O3 @( B9 H/ B2 y7 G8 ` - int len;
6 N; m( o+ K4 v, Q- ^7 R - char recvBuf[100];/ e, s7 p% r4 ^
- scanf("%s",recvBuf);
7 _) }2 p$ V# y- y/ T3 N - struct sockaddr_in addrClient;! O. U: s0 k5 `0 L3 f% B
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);9 S; @1 l* e& S0 x" x
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);; A: F2 Z3 ?& |6 a$ D7 B. f
- addrSrv.sin_family = AF_INET;- O: Q) E, W& p) U7 J1 p4 D
- addrSrv.sin_port = htons(6000);: E" @7 A# n( j* n
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
7 W. t% g- G; d; P* b - len = sizeof(struct sockaddr);
) ?6 J- D: I0 M% V5 H. J$ z: R - memset(recvBuf, 0, 100);
- C$ T! p3 |9 U$ B - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);3 I8 g }# {# Z" ?- d
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));- n0 j# g8 j( n" h
- printf("Client data is:%s\n",recvBuf);! ~: H2 R1 R6 S$ O W
- close(sockSrv);8 _: R) ~1 S# x: o
- return 0;0 X* i5 i4 @( E+ A Y* `" A& Y
- }
复制代码 4 s7 Y! _- F3 p0 x( }7 v
7 B" ~, g: e& ]$ X3 |! c
" P! z: d( U( p- M' L
; R; P9 P! X6 B' o3 m+ y |
|