管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发
楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:" ` {4 P1 C4 d' Z
#include <sys/types.h> & r9 C4 c, L+ M! s% n( X$ T
#include <sys/socket.h>
- u; @4 |3 s* p#include <unistd.h>
; E( [; e1 s3 e- D b4 `#include <netinet/in.h> % h' Q: w- U: s" Y
#include <arpa/inet.h>
" ^# f$ N4 p6 a5 v$ W#include <string.h> 7 k. z7 Q4 _# u) Q& k, m% n
#include <stdio.h> ' s2 v8 E2 ~9 n
int main() {3 g P. r7 t" g0 f& f( C. ^& r
int sockClient;
) i* h) R# L. _3 a! a* }, C- U( F3 W struct sockaddr_in addrSrv;
& ~6 `& M3 A1 ]& E; x sockClient = socket(AF_INET,SOCK_DGRAM,0);8 w* q# i' ]+ s. p- ]8 H
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
, `- k' L0 k: n addrSrv.sin_family=AF_INET;
$ L; F3 ?& H, v) } addrSrv.sin_port=htons(6000);
/ q& c& C" x& q" p8 m while(1)
4 S6 }2 Y+ C! a7 V ? Q {
3 e- B" C6 b8 G) q+ [ sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
. U. i. N9 ^) ^8 J sleep(2);' H* J9 A+ G4 b! K' j. u B1 x
} 7 q# g7 ~8 }) s) A
close(sockClient); - {+ Y/ D: c" d( ~/ g2 N6 w% j# m
return 0; ) v, |. [+ b, ^- J9 S! i! |+ g
}
/ w* [. @8 R1 i) a& X% K- t$ F9 L( ^9 P2 W6 [( _
6 ~8 y5 W4 [. Q6 y' _- V
客户端:- #include <stdio.h>
1 p: i+ g& |3 Z2 S2 v/ `) j9 C' @ t - #include <sys/types.h> & @" D4 g$ C1 o" H
- #include <sys/socket.h>
\6 t4 @: s, |/ j, q - #include <netinet/in.h>
4 u0 T) |# A0 k, S5 o& _) ^ - #include <arpa/inet.h> 6 U- o u6 Z) T$ t: v
- #include <string.h>
2 l7 v) Y9 b: \7 c3 q - #include <unistd.h>
" n: d: O6 ]! Y9 o* o9 x+ S - #include <fcntl.h>
- e/ l1 E; `8 F: N - #include <sys/time.h> 2 h% z) X4 x6 q8 ~
- #include <sys/select.h>
- P% n! D* k o - #include <sys/ioctl.h> 8 ~2 v" I2 H" d
- int main() {
! g/ Z7 D8 T" _7 z% a - int sockSrv;
! Y8 m1 P) X3 r& W, e3 R* ~$ U - struct sockaddr_in addrSrv;) G4 T$ b2 x& k# a
- int len;
$ K) ]( W4 l+ h) E* | - char recvBuf[100];. e' C& k, k3 y1 y/ ]0 o
- scanf("%s",recvBuf);% l1 j0 c; w+ }6 f
- struct sockaddr_in addrClient;" k* s4 ^" S( W' R
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);: q6 j6 M r; [( T* E& D+ Y) v
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
1 N/ X! m$ r. G6 O# S( v6 G0 W - addrSrv.sin_family = AF_INET;& w; o9 K: |- |+ f2 ]& I
- addrSrv.sin_port = htons(6000);
2 t/ ` v3 I1 m1 D - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));* @+ j* l- \; c4 m0 h
- len = sizeof(struct sockaddr);7 E: f0 w' I% ~. B
- memset(recvBuf, 0, 100);! J* i' x5 d& g8 Q! q" k
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);/ F$ A' c$ t7 o; `+ @
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));9 l$ J) L V) l) @ x S/ k8 ^
- printf("Client data is:%s\n",recvBuf);! d% L4 [, |+ {3 N4 b* v
- close(sockSrv);" n+ B# ^1 w% e' W# o4 V; m, x
- return 0;9 n: v3 X; H9 @
- }
复制代码
8 V, p8 ]2 c* Z, I' K5 G H$ l1 v* @! U0 n7 T5 T0 @
6 S+ t' _# n% c8 ~4 k1 p: M
7 x& H# m, g) k' S6 l |
|