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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:+ z2 y8 ?$ t' \; L; {' \# B; c
#include <sys/types.h>
. `8 }" Q' R6 @2 A a#include <sys/socket.h> * a7 I; H9 n4 X* y `
#include <unistd.h> $ N9 S& k/ u) P5 h
#include <netinet/in.h> , L2 ?% I4 c+ k7 p
#include <arpa/inet.h>
/ W) U- {0 M! v+ _" t, ?" ~#include <string.h>
( k6 s) E0 P0 T( {#include <stdio.h> " g0 g- N. L6 z
int main() {
% ~5 s6 ]1 u% o! F int sockClient;
- u! p: p7 \7 n struct sockaddr_in addrSrv;! |% k( k+ V6 |7 ]- s {
sockClient = socket(AF_INET,SOCK_DGRAM,0);
# |9 h7 \6 ~# y1 X0 X+ Y addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
) k* q: a: E5 q; ~; s+ e addrSrv.sin_family=AF_INET;
" |1 m- B1 z) m( e0 E& M addrSrv.sin_port=htons(6000);
0 z2 ~9 C' b9 I' t while(1)/ e5 a" \* A9 k1 t& |+ c( q
{
2 b& X; h+ T, q) y6 G5 |& \1 z, m sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
$ s0 g. c$ \( o; Z sleep(2);. p& [9 w) I' J6 H ]) i& k# f" o
}
( t- m; N) S$ c, \# y close(sockClient);
6 s3 M% E7 _8 `- ?% W) @6 R& S return 0; , ?" f# j$ S' B. M1 G3 k0 z7 L
}
' P1 k/ W2 W; q; L: }0 G7 h) s# v0 |" ~" N7 m
# a/ d) e3 d) l) z' @; u7 l2 f- f客户端:- #include <stdio.h> . F$ L7 T. \/ E, k- R4 G
- #include <sys/types.h>
# F$ v- M& ^8 m1 H - #include <sys/socket.h>
1 t( `9 x3 y/ q8 @& n' |2 H - #include <netinet/in.h>
9 ~' ?2 S# S# c* ]9 x - #include <arpa/inet.h>
$ J {6 ~8 b( Z# t. { - #include <string.h> 2 ~/ G$ E" T" [7 l& [
- #include <unistd.h> + n/ C: `) j0 [- a
- #include <fcntl.h> $ e4 w& S% A' ]! T8 i2 l
- #include <sys/time.h> ( G" j9 ]1 r1 H$ [8 J$ S& r* Q
- #include <sys/select.h> 5 e* h- g5 ~: L. O: F" Z
- #include <sys/ioctl.h> S9 n2 M( T0 [. I: Y2 J
- int main() {
6 u: C0 J8 g/ ?! G$ c1 P5 C' ] - int sockSrv;1 c4 r+ {, j, g8 l, N7 i- ~5 D( @
- struct sockaddr_in addrSrv;
1 k, F+ E( W( r% q& ^9 Y! t d - int len;$ F) O% _) R/ F- y2 O2 M
- char recvBuf[100];; H7 z# w6 u- a) ]. h1 Q* A
- scanf("%s",recvBuf);
[' O J7 Z5 z" w - struct sockaddr_in addrClient;, E: `$ x, H+ w1 s1 e, m5 N
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);
! H% w4 J9 Y/ @$ v, _ - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);- V4 u4 ^! `8 W: }! \
- addrSrv.sin_family = AF_INET;
) X) `& s0 D$ K" }. t6 I. Y' M - addrSrv.sin_port = htons(6000);
- c; v1 \& D, a" x0 H - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));5 X! P. _6 I4 _& P. j- a5 c
- len = sizeof(struct sockaddr);
" J0 \, z9 D8 C' h3 |0 b9 w& [ - memset(recvBuf, 0, 100);
4 P4 Y. J) `1 x- g - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);" S; @, i9 z* r) c, _# _
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
; x3 `6 e/ a g5 w. F2 C! R - printf("Client data is:%s\n",recvBuf);9 [1 i% L( |% h
- close(sockSrv);1 L9 o" E) E- f. ?, w
- return 0;& W* e( O! J6 P$ P0 H6 Z) r
- }
复制代码
B5 k2 p: E4 I. k9 \' B4 Z: w
3 ~, v: R/ r( |2 n' h8 @" s% d& ^' b/ a
2 F* i& C+ b0 n8 |: Z: q; N" h
|
|