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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
7 k7 E) D9 a- y! R. A$ Y#include <sys/types.h>
$ K/ Y3 D6 Y, c2 I#include <sys/socket.h> ) B; |2 c6 F% `: J) z
#include <unistd.h>
: n: ^2 ~2 q) m, j0 t' j#include <netinet/in.h>
: f7 ? C8 e, e8 r1 c; o+ S#include <arpa/inet.h>
/ {2 q6 N, v2 o$ ]+ N0 F+ _#include <string.h> , } v8 i, Z6 s3 }% x
#include <stdio.h> ; i+ ~3 p+ k+ n y$ L2 s2 g
int main() {* d0 T+ y0 i6 ^5 F
int sockClient;$ }; Z2 J+ L4 c0 S/ q3 _- W( M7 p) D9 G
struct sockaddr_in addrSrv;7 x) C6 r) A: T, s
sockClient = socket(AF_INET,SOCK_DGRAM,0);
; n3 w% ^; m8 L. p- _% q addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");$ D7 O1 i; I& T `+ |, H7 A/ ~
addrSrv.sin_family=AF_INET;# {# x% C! w6 u& {
addrSrv.sin_port=htons(6000);/ o8 j$ @" `4 Z$ r
while(1)' `6 {8 V& R3 p1 `" V
{
- ^1 z% }$ b# ` sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
! J- j6 J+ a, p5 h# r sleep(2);
0 {0 O" _, S8 Q/ B* h; }5 I }
y2 f% l$ ?! P) V6 | close(sockClient); # H z) N ?$ u
return 0;
7 y( S& h& M4 V9 X# v( X' u$ ]}$ W: A; Y# r& b& _# v1 D8 O
" T6 q1 i2 l! L) U- C3 Y" d; u/ H# E
客户端:- #include <stdio.h> . m/ d* f1 _- k
- #include <sys/types.h>
: g( c: O; j0 \7 J# u0 y+ d - #include <sys/socket.h>
' {3 z) }' x6 U" u' j - #include <netinet/in.h>
" m. j4 v& d" g0 q4 W7 k; Y - #include <arpa/inet.h>
# I" n7 W* m& c( F, X( N( [ - #include <string.h> 7 s7 D# K! P; L: n8 r7 T) j
- #include <unistd.h> 3 Z9 s9 y I A+ O2 ~
- #include <fcntl.h> # \. `& Z6 Y/ x4 O: i
- #include <sys/time.h>
) m6 X( }& [/ K0 r. j - #include <sys/select.h> 6 ^3 a C/ Z; b/ c. ?0 K' a
- #include <sys/ioctl.h>
3 c$ ] ~& m4 \/ {) ^! E' r2 A - int main() {
: g9 k ^! J, ^4 r0 G - int sockSrv;* |) J- i. R' ^4 t
- struct sockaddr_in addrSrv;! c# C2 x8 n2 w" N
- int len;% _# x( N; H3 ~% t$ S
- char recvBuf[100];
; T9 K: N4 U, c - scanf("%s",recvBuf);1 i5 T8 X6 \* y& Y
- struct sockaddr_in addrClient;$ ~% X3 [ t5 }+ c3 W M) k
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);8 l; x! n) H* _4 ]& @! p
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);" z& L3 G1 s- q ^3 F5 a: c0 c
- addrSrv.sin_family = AF_INET;8 N: z" u2 L0 j$ X" O$ B
- addrSrv.sin_port = htons(6000);. t( n8 o( K3 e3 \
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
, y! M M. @3 A9 q3 u, R - len = sizeof(struct sockaddr);
. U7 b' k9 C* Q) b1 P - memset(recvBuf, 0, 100);
) T* Z% g( H# [" L - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);# h+ ~# G" D2 d+ J/ w, n R
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
3 C& h: E c6 _! ^) c5 C - printf("Client data is:%s\n",recvBuf);6 v$ p( ^5 ^2 M) z2 E
- close(sockSrv);
+ U# `; p6 j# Q1 K- Y* e - return 0;
9 X; k0 z( U% h- R F8 H: c - }
复制代码 . t& ?1 v; V. k" X
* k0 h: C- `8 ]+ v3 L0 l2 n
$ l: i2 ?. _3 n% k$ [( q
2 o3 c/ {9 ^" L* e7 z& V" L
|
|