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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
- l2 }% I+ @0 A3 T. s% a$ M# {# s#include <sys/types.h> ( a' k* A% }8 t) C4 A* b7 m
#include <sys/socket.h>
/ l3 L9 `4 Y/ q$ |& n& M#include <unistd.h> - H: {9 H9 {8 F/ u4 W
#include <netinet/in.h> " l+ J2 D) Q' [; J' R
#include <arpa/inet.h> ! z- W+ X. ]8 n4 H
#include <string.h> . r) l3 e9 F2 f+ Y0 i) X
#include <stdio.h> " |2 z9 o$ }- C0 b0 e$ g; E) }0 p5 f
int main() {7 {8 K1 O6 \: a% U7 z
int sockClient;7 `6 b5 s3 E# V# F, F
struct sockaddr_in addrSrv;
1 p% N1 Q* K' ^6 _" b sockClient = socket(AF_INET,SOCK_DGRAM,0);
) a( u) h5 o: Z/ o( `7 ] addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");0 X- `, e1 v, M" e/ \$ E# l
addrSrv.sin_family=AF_INET;
- Y9 r# E( k( O addrSrv.sin_port=htons(6000);' X3 y" n7 e w0 t% i
while(1)5 n" r8 S9 w1 Q& ^ {0 ~
{$ g$ F* O" [) G' _
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));( k" J& H4 G4 e; h9 _# B
sleep(2);
/ W l5 h4 i$ T6 `. j } ) [- k9 K" z& E$ @& N! ?3 j
close(sockClient); 6 W& p' A U! x. ]) `0 M& v
return 0;
9 t9 u4 r+ a$ i}
4 a# j) d; ^7 q3 R$ S
' ]/ X9 C2 g2 Y* t& q- C8 |5 I) t h
0 B' V3 s9 R0 s客户端:- #include <stdio.h> Z4 U* n; M Y9 j+ |
- #include <sys/types.h> ) ~' z) j9 G. Z' R: K( R9 q: Z. }& r
- #include <sys/socket.h> 2 p6 H& J) n) i2 I4 z; Z7 }" [
- #include <netinet/in.h> ! E' o5 P$ R r3 r1 C( b! M+ E% @
- #include <arpa/inet.h> / y. Z$ N" I2 _; d
- #include <string.h>
0 s/ k! v9 O3 a2 m - #include <unistd.h>
, {+ j# r' Q% F - #include <fcntl.h> 4 b, L6 l, j6 @/ b% p" c: a
- #include <sys/time.h> # v% D. Q7 J! Z$ E# w4 S
- #include <sys/select.h> 3 ^! e1 ~0 ?( M# d* q3 Y
- #include <sys/ioctl.h> ( p7 M5 E+ N+ k1 h
- int main() {* s2 j! E4 p6 A* h- k; P, w/ T
- int sockSrv;
! s& i! k8 R3 S* q3 X" K - struct sockaddr_in addrSrv;
0 D, B0 E! Q6 }3 e; X* M6 ?$ d - int len;% D- {: c8 @7 R- s# p) v
- char recvBuf[100];
4 F4 ?) ~2 H/ g9 j0 ?) F' q0 x - scanf("%s",recvBuf);
. {+ Z# v! r9 H" N; y# t - struct sockaddr_in addrClient;8 X* c& l+ @2 Q( E9 S
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);
8 ~4 A$ {& y- {. I3 ^5 U* p! o - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);! j( Q( y3 v1 ~) j+ b" y8 U8 Z3 |
- addrSrv.sin_family = AF_INET;1 C$ o; I+ U3 ]6 \) G" W. ~" G! O
- addrSrv.sin_port = htons(6000);2 X2 ~' k) B/ E& u2 {9 i4 ~
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
; K" Y2 F, r6 D& C2 a- t - len = sizeof(struct sockaddr);
" _$ |9 m2 ~: P3 u - memset(recvBuf, 0, 100);! y1 D @) B* I( L* |
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
4 I& i, n5 P# j& @7 ` - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));7 j G& X2 f3 z9 u
- printf("Client data is:%s\n",recvBuf);
% P& E' u) q- f. ]3 N. t - close(sockSrv);$ R. h; E7 ~9 N) S: z7 a
- return 0;
5 s# @, g; j7 B7 | - }
复制代码
/ B6 T, s& _" z$ T
3 d: B$ p; i7 e
( I3 P- _$ r5 v3 |" y
3 Y; v! b2 u, j' o, @ |
|