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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:( r4 b1 o) ~! F7 D. S
#include <sys/types.h> - C! ]% N3 Y1 Z' q
#include <sys/socket.h>
9 }8 o' B8 v( B2 k: \# v#include <unistd.h> 7 R, |$ p$ u, Z& f2 C \" m! u
#include <netinet/in.h> 7 Y2 C" Y) Q# @0 M
#include <arpa/inet.h> , D. Y( M) s6 W( t# W6 T7 v
#include <string.h>
) I: `# o, H, R5 G#include <stdio.h> 6 T6 R! Y: e% B3 n. Q
int main() {
- `1 |- f8 q( ^% U+ V8 t int sockClient;' m) e; \3 @4 z- Q% m+ R
struct sockaddr_in addrSrv;! m, g/ d- M6 [8 ~; Y9 [6 o d
sockClient = socket(AF_INET,SOCK_DGRAM,0);, |; i0 `- x0 s0 x+ Q o5 O
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");: g5 W5 l- i9 s" R; l3 I% C
addrSrv.sin_family=AF_INET;
+ U7 T2 [, A$ E1 L addrSrv.sin_port=htons(6000);
/ i, c$ }7 L% k7 n# N0 b- H4 r while(1)
* J) L. C) }/ d( p2 z5 L0 ~ {+ _; O2 k; T2 U# {1 T9 e
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
( t2 y1 d' z+ w! z G sleep(2);( L) }0 K% z6 m- T- j
} ) Q1 N6 ^& z& R' F
close(sockClient);
; y% C) U% W9 ?& e: F; O return 0; 0 M, M7 V( {$ D5 T F7 Z
}
4 m) U) k# c7 Y- e* ~7 d4 K% @( P5 @
$ B1 W; ]5 G6 |9 T [# l客户端:- #include <stdio.h>
( n: r7 D9 b9 ^2 W$ l - #include <sys/types.h> ( A* O) J- y' j; l1 s
- #include <sys/socket.h> 6 d0 ~1 I: B, r9 @: t! F
- #include <netinet/in.h> % R5 {8 j3 K/ o8 @6 \3 J' c
- #include <arpa/inet.h> 1 ^ @0 A2 l; c: t$ Y0 ^) U: [
- #include <string.h> ! W* q, F- a O" r1 {
- #include <unistd.h>
: H/ Y; e" g+ y7 ], w - #include <fcntl.h>
& O! ~" ?% d) A8 o, L* j - #include <sys/time.h> 9 H. C, U# `. `+ N: l2 o( A8 h( z5 ~
- #include <sys/select.h> . Q0 e9 f: I' n0 g
- #include <sys/ioctl.h> ; s7 ~9 ?; }; P2 u5 c, a
- int main() {3 U+ a: p9 Q. S" P1 J
- int sockSrv;
# V# R- \4 ]1 f6 D$ v$ R9 x2 ~ - struct sockaddr_in addrSrv;# C+ I! Y6 @4 K4 S# \
- int len;
l1 C% p4 I* |8 {5 U/ B - char recvBuf[100];
2 t/ Z" e0 r) o/ |/ |+ C+ C - scanf("%s",recvBuf);3 i7 k4 ~) r# A- `
- struct sockaddr_in addrClient;( E6 i; v, B7 h6 o: A$ l
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);) a' K- R% W! `/ D" B9 F
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
6 z3 ^6 y. e2 c( @8 g H1 r - addrSrv.sin_family = AF_INET;5 k5 W0 j6 r; _" d2 k
- addrSrv.sin_port = htons(6000);
! ~& R7 q0 z' ~. s - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr)); x' m- E6 P8 H' q
- len = sizeof(struct sockaddr);. C- |/ N1 A; Q l
- memset(recvBuf, 0, 100);
/ N6 ~# _3 a l- @ - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
R! J5 L/ M& g1 v! O& p0 Z - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));2 A6 ?9 a+ d9 W
- printf("Client data is:%s\n",recvBuf);
1 B! f( o* u( ^ - close(sockSrv);
/ S# R- H; k4 I3 B4 L - return 0;
7 T) W" |2 [8 ? R - }
复制代码
, K- ^ [( d& ~; |( p! d
5 e6 w& A2 b7 E8 A9 Z# D- [8 s8 a5 T4 V
" `( D/ s1 D: B1 ? @
|
|