管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发
楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:: V" D7 Y) z H
#include <sys/types.h> 6 m' o: O+ g2 p3 i
#include <sys/socket.h>
8 M8 V, Y0 A9 h( U4 _5 {% `! z#include <unistd.h> , c% U" |9 c0 w
#include <netinet/in.h>
$ R2 i, j7 J! d7 v3 N#include <arpa/inet.h> 9 t) N- M. M# p0 \5 x( _8 V
#include <string.h> / u/ q- }' j7 [1 d! }3 p
#include <stdio.h>
5 D+ V5 H) [% Q$ m* O) bint main() {
* W' P4 A8 n* ~2 Y4 D int sockClient;
* ~ c% P6 ?, C" y8 Z; V& ]. N0 \. } struct sockaddr_in addrSrv; W) u2 Z) Q9 v: V2 R9 M* J
sockClient = socket(AF_INET,SOCK_DGRAM,0);# F/ n. n# E, m# V
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");) |- t2 l( `3 `7 J
addrSrv.sin_family=AF_INET;
8 ] j+ ?, E/ m2 F addrSrv.sin_port=htons(6000);' T" d9 ~' l* C8 d' \& }% P3 g! G' C
while(1)
& Y" M$ e1 S3 g1 Q {
8 A1 A. w3 _9 g sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));: ]1 e/ m7 N; Z2 S& [
sleep(2);
8 E8 T* m9 C. M/ n# o) f9 G C, p }
4 ~3 h* }- d: }! q close(sockClient);
7 W i& R2 W& U6 ~' H1 d return 0;
' Y1 o; L9 H! @* s) F$ J2 }}$ k; D/ K' b; }& F$ d. ~, u3 m
3 t0 n; c- |0 ]
- U2 s2 i; M0 L客户端:- #include <stdio.h> 5 f2 g o2 C, X0 B' `
- #include <sys/types.h>
0 d# Q4 R, f& M, C' l. E - #include <sys/socket.h>
1 `- j X8 H9 D. U3 L - #include <netinet/in.h>
* D( I1 B, F8 ~; `* n* G2 V - #include <arpa/inet.h>
& u f3 _$ k5 P; y8 x7 g/ I - #include <string.h> # k4 ]9 g5 H- ?$ v0 N
- #include <unistd.h>
7 [1 y. D( Y$ o" _: z - #include <fcntl.h>
+ z( ^) R& j& ?& e( v2 Q" x: f - #include <sys/time.h> 8 h* d t4 k, Z; C
- #include <sys/select.h> - h% Z$ G# i5 Q$ c
- #include <sys/ioctl.h>
6 O6 P0 E2 B9 s* v+ S$ q; J - int main() {
9 P3 K1 r4 J' Q& L' Q - int sockSrv;4 ~6 g) B1 O' ?. c: r: D
- struct sockaddr_in addrSrv;
u6 g/ G; ]' l6 h- C0 h/ c - int len;; Y- ?: n- w; k3 t
- char recvBuf[100];
$ U2 M( `8 |) H - scanf("%s",recvBuf);
V4 k! K" V- _/ k( z# V+ ? - struct sockaddr_in addrClient;
6 L$ _. k% ^1 M2 S% U - sockSrv = socket(AF_INET,SOCK_DGRAM,0);
$ G* e0 w/ H* S' x f* `9 \ - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
& X. }3 m& U! {3 k- \6 b6 Y" H - addrSrv.sin_family = AF_INET;
, I. `; H' n6 x* v - addrSrv.sin_port = htons(6000);! `, {* _' Z4 \& c- a' \1 i
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));* n$ |% f0 K5 M$ A9 T5 C6 q) w
- len = sizeof(struct sockaddr);
% E5 L8 x( R4 |* Z% o* d5 b7 d5 ` - memset(recvBuf, 0, 100);
& G5 C9 d" U4 P - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
0 ]3 @" r# v: Q0 j; V5 I - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
" Y8 s h& p; x2 L/ C3 s& V - printf("Client data is:%s\n",recvBuf);9 e5 p6 x# R/ U5 j8 F/ ~. V
- close(sockSrv);
# Y8 [% h8 V1 Z# c' b9 J: m" } - return 0;
5 v- q5 N% s X: s - }
复制代码 9 t* h2 y+ k$ }3 b ^
, B% F, k' j# _. i+ h# K
: G* r) i0 t9 E8 z5 q9 n. S! y. n, ^
$ {) a) h( a; x" e* ~ |
|