管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发
楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:$ f1 ^4 W% O7 ?) O1 n
#include <sys/types.h> 3 Q7 l( P6 P( `
#include <sys/socket.h>
" n* v' _1 r P( U7 o ?#include <unistd.h> . N/ |9 h" R* }& h) d- P4 j% U# o
#include <netinet/in.h> ' Q5 ?/ z% k" y0 K. H& ?* n' T
#include <arpa/inet.h> ! t& p: z3 G% R4 y! q
#include <string.h>
$ u) |5 m K; q#include <stdio.h> + H. F, a5 ~- s7 r
int main() {4 D, \: a: D! O
int sockClient;
: g( v2 o1 _( b% _$ b struct sockaddr_in addrSrv;! |; X1 M% V* N' E7 a6 c
sockClient = socket(AF_INET,SOCK_DGRAM,0);
. Z( j2 G2 Z8 O* w addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
+ K+ U i% v3 _2 k+ n addrSrv.sin_family=AF_INET;7 ~1 M2 J& G5 j4 j( j
addrSrv.sin_port=htons(6000);
3 z4 C4 g/ W& r$ z/ u while(1)
# T" F# P+ B% K0 T {
; A7 G0 u. F0 t, h X0 O; m- ^ sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
- O" }3 ~) U( T6 `+ B+ t; m. V sleep(2); C$ ?; b" W1 N* a I
}
3 V6 F- K" }) h2 b G# D4 E* t, t close(sockClient);
) G- D+ m' I6 s. g& _) M return 0; : ^: u* S0 z* _0 B
}0 s N1 z/ Z. ]4 s: w
' d& X; d. G- V. n2 T
7 e# l, C( Z6 d% ]9 ~( \" X9 A客户端:- #include <stdio.h> " m- O' c- f; t5 D5 E+ R2 n
- #include <sys/types.h>
! Z, L y/ H1 ~. J; @ - #include <sys/socket.h>
6 \0 b7 E Q* R7 m. k8 ? - #include <netinet/in.h>
5 M' U' l0 H0 ~5 B! Y1 z* d - #include <arpa/inet.h>
: P4 h( g3 w$ Q - #include <string.h> ) k" n; Y8 Q6 T4 g
- #include <unistd.h> # M8 t4 W) ]2 L. I. {$ c
- #include <fcntl.h> / [/ p# J3 }; ]! n
- #include <sys/time.h>
& H6 g0 x5 H- U+ E7 X/ Y - #include <sys/select.h>
H1 @8 J [( n; O+ [7 A8 @0 b - #include <sys/ioctl.h>
& F3 b8 _) I8 z, A( [! [4 P: t( |9 @- _ - int main() {) L J1 I- f- I+ b, g$ B
- int sockSrv;; }9 Y [/ s' j& Q' h( b
- struct sockaddr_in addrSrv;& d+ T2 B. M7 S% h2 B
- int len;
3 t5 ~' Q# X' W - char recvBuf[100];+ i: v( O5 {4 v6 b G _
- scanf("%s",recvBuf);
8 l8 c$ V6 M4 z8 _- M; X - struct sockaddr_in addrClient;
. G2 a! e" x+ y% p- g# o; m - sockSrv = socket(AF_INET,SOCK_DGRAM,0);
4 c% L& {2 I$ D3 u8 w, M - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
) s2 f4 K! \6 N9 h: m! b) K9 `4 Y) l - addrSrv.sin_family = AF_INET;
# ?" n9 K# N3 B. x; ~8 g( [ - addrSrv.sin_port = htons(6000);
; {( o3 j3 v! f. K8 i% o - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));( k+ q) j0 I: [$ w
- len = sizeof(struct sockaddr);
% a$ @3 H: P) ^' j - memset(recvBuf, 0, 100);
7 B# d$ S" z) r* {1 B- J9 G - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
0 M& G: ^+ r! a" l" Y4 `9 C% B - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));; O" m0 V9 u- E, n5 y: n6 \1 f
- printf("Client data is:%s\n",recvBuf);
4 J; u4 } s1 d, j - close(sockSrv);
4 S1 j$ h+ A U# K: K) c9 Z - return 0;
+ z( N9 E( E- u8 p: R - }
复制代码
+ J% P) G U2 Q9 F. d, i5 @+ W3 T" b2 k
% `5 q: {$ W- G
$ i# N# B+ o B" W |
|