管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
楼主 |
发表于 2020-5-9 02:30:12
|
显示全部楼层
服务端:
: o: Y# d$ _( D( m$ c6 L#include <sys/types.h>
8 k! `0 R8 {8 p$ x( I0 f7 O; ?#include <sys/socket.h> / {5 v# M, s& r# v
#include <unistd.h>
* c3 q+ R$ ], o" p" n/ \( H+ a#include <netinet/in.h> $ Q. Z# c5 A L2 X! S5 F
#include <arpa/inet.h> 7 b* B# H& |, n" \- J% z w
#include <string.h>
( [# s1 C8 f% Z% S#include <stdio.h> & f1 v8 n, T1 C) @% ?5 A
int main() {
- B a! N( X- M int sockClient;( H2 |/ H" G! w2 v. _3 w
struct sockaddr_in addrSrv;
2 g b; x( o6 D2 w A sockClient = socket(AF_INET,SOCK_DGRAM,0);8 y( Z- R2 J7 p \& f |( M3 W6 C
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");4 O& |; F0 F+ K9 _9 }: M' E
addrSrv.sin_family=AF_INET;
7 s. `8 {& X: L2 S1 l addrSrv.sin_port=htons(6000);& M. @" g8 \/ H8 {
while(1)$ L7 v$ k c' I; q6 Y' Y: x. D
{
. n( m+ @1 L% V9 o- K" \ sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
- W* f2 a8 q# O ?% |3 H sleep(2);. `: u5 ]3 q* c j) p
}
) e. [7 p# _5 f+ q close(sockClient); " o7 m2 N9 [: R q
return 0; / T/ p) c9 N: Y- e: a$ }
}
# O$ ^1 z9 p: U, W6 `- ?' q3 S2 k6 _7 e& ~7 d
% x% ~+ m- ` u+ e: x
客户端:- #include <stdio.h>
4 d7 }, M' {3 a6 g. } - #include <sys/types.h> ( @3 J9 K+ n, U0 W c% d3 |( A4 i
- #include <sys/socket.h>
2 C$ }3 C5 K' t$ Y- } - #include <netinet/in.h> ' d+ w1 q1 e6 F7 }" \* w
- #include <arpa/inet.h>
T) v( n; v/ {' Q2 E! }! l - #include <string.h>
$ h2 t( z: b A$ `6 S - #include <unistd.h> % a0 T' L+ C7 D! J& R
- #include <fcntl.h> 5 L4 b9 H/ u1 |- ^2 j+ l
- #include <sys/time.h>
% n( M" s3 f6 N0 O, r; P8 K" o4 l( X - #include <sys/select.h> : J" f- V9 {. D% X8 _9 r0 o# J' m7 G8 e" W
- #include <sys/ioctl.h> + G3 j* B: H/ z3 N$ A1 A
- int main() {
: Y$ g1 Z' S! c" e0 m# k) Z/ G - int sockSrv;2 A f$ ]% y6 T( A% [
- struct sockaddr_in addrSrv; V% |* ?2 _! t1 b, P
- int len;
* r6 M( ^) m u* i( [ - char recvBuf[100]; h. v) s6 u# y
- scanf("%s",recvBuf);6 {; `5 x% a+ \; {" u, Z
- struct sockaddr_in addrClient;
/ Y# U% z9 `+ |% ?( d- b2 c - sockSrv = socket(AF_INET,SOCK_DGRAM,0);1 L! ^3 V0 _5 Q2 w/ z# G
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);5 Z1 D3 _9 j) H! i
- addrSrv.sin_family = AF_INET;
# S& q b# Q" J+ z, v' O- ~ - addrSrv.sin_port = htons(6000);/ b) J, x4 a( \) w) i* H" \& P
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));4 f6 ~/ {- S! x( O* v9 {5 D
- len = sizeof(struct sockaddr);
, N0 \! ]" v! G - memset(recvBuf, 0, 100);
/ \! ?% H( B+ X% [( m6 S - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);% s5 P: O6 Y" Z* q) f5 q
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));! r9 H4 L- v5 j8 n0 G8 I
- printf("Client data is:%s\n",recvBuf);
; o2 z$ R# D+ d: \- V# K. `! E - close(sockSrv);
$ S" E& l: d1 G: M4 D% c+ n7 X3 a - return 0;
( m7 H5 d! K( D9 B - }
复制代码
7 e' D `7 p; N: y8 Z& t! u: j! K& g* F% ~: o- D
" A1 b, x- Z# ?: L- d# z
/ y9 H) ^" s1 v
|
|