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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
3 F+ V/ C, L; `7 _1 [#include <sys/types.h>
1 i1 l: \4 N- K, O# F#include <sys/socket.h> ! G: H8 N& F3 B! ~/ h9 @
#include <unistd.h>
( \) i. R, a+ ^! N& C- h#include <netinet/in.h>
% F @8 ]$ l3 |+ \( n#include <arpa/inet.h> 5 t- }' _; Q1 j
#include <string.h>
* a9 J4 k/ u9 \. t# A. N1 H( z#include <stdio.h>
* t! k, e4 l: z! y. e: Wint main() {" A9 P* |* L' Y- J1 u7 K
int sockClient;
8 ]! ^' ? e. b6 |* O' u struct sockaddr_in addrSrv;; t: v3 U `) M( g
sockClient = socket(AF_INET,SOCK_DGRAM,0);
- i; l5 @/ v( b( E( W+ v addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");: n) t3 Q9 ~8 t% ^+ s
addrSrv.sin_family=AF_INET;2 f9 ^+ v8 Y3 V9 v
addrSrv.sin_port=htons(6000);: z# ]) }7 V c0 b
while(1)( W& X+ i9 C4 g+ Z8 ]
{/ C. Z' w" f9 [% O2 h; c
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr)); ^! N$ |. k8 t8 U; n
sleep(2);2 D1 A9 Q2 a* v% g1 |2 f% w
}
- ]# c8 f; N3 K; }4 c8 t* {' T& E close(sockClient);
4 S9 k$ t! |5 c% \! H+ D$ v return 0;
! k! H$ t% r. ? |2 @}/ B7 k, I6 l5 s4 W
2 _$ a# K. ?4 u+ E
0 o! |0 e$ u: Z& d% I客户端:- #include <stdio.h>
$ u& k& B! s' c; K - #include <sys/types.h> / y' _% x7 F7 h3 p% k; w
- #include <sys/socket.h>
! |9 s0 P3 L6 S8 c - #include <netinet/in.h> $ _. C; B+ l7 I0 N3 ]- q) y
- #include <arpa/inet.h> / r/ O9 }& [- G& Z# H
- #include <string.h>
" m5 k( s0 K b @ - #include <unistd.h>
3 c9 E# M* E) \6 c7 W( b9 \ - #include <fcntl.h> & M2 V% g3 g: c% F
- #include <sys/time.h>
0 ~" I; Y9 W0 z! g - #include <sys/select.h> , j2 b# B# @1 d; K5 `' M* t2 C/ @
- #include <sys/ioctl.h> . ^ Z6 ]7 j' m4 A3 f
- int main() {
% o9 O' a, N0 q- e - int sockSrv;3 ]! N8 N* m+ Z4 @
- struct sockaddr_in addrSrv;# |7 |$ }3 O: @1 d) W7 f
- int len;
! q( w& q$ ], D, v8 t) r - char recvBuf[100];
0 X5 V2 O2 R2 u4 D3 u2 y7 s - scanf("%s",recvBuf);
; H% Z- b8 j; C/ ~/ h - struct sockaddr_in addrClient;
8 z7 l, C V- r" q/ @ - sockSrv = socket(AF_INET,SOCK_DGRAM,0);# R* V$ L) }' }& \- z$ o: ?
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
1 U" V/ w- L0 @& i3 z2 | - addrSrv.sin_family = AF_INET;5 ?# M; B7 y- K% ?* Q: Q0 d) t( z. r9 s
- addrSrv.sin_port = htons(6000);
- Q- W5 G }; i f7 W - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
3 h2 z g9 x! |( N - len = sizeof(struct sockaddr);9 v S1 n3 f p0 @' M! u% A
- memset(recvBuf, 0, 100);
# X; g: u: D6 A" P - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
6 P$ ^4 w- a v: f2 e- e/ S6 O7 V - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));9 z7 _) p2 i$ b0 ]5 N$ f
- printf("Client data is:%s\n",recvBuf);
3 q; `; C$ I* Y& _ - close(sockSrv);
- h2 }- `3 X. G) L! M - return 0;* s; N3 _7 |0 H) l4 q
- }
复制代码 $ y* v1 x5 c7 a0 u
% R7 p# y+ M+ F' E, U( h" F9 |$ d+ j; I( j# ]
, R. O4 L0 o# r" x- Y$ i, z0 @+ j5 N" \ |
|