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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:. ^# r4 W0 a. N8 v% b. D
#include <sys/types.h> * N$ n+ u% D$ ~/ i! g
#include <sys/socket.h> ; A d$ D/ W+ _8 d: S$ W! X
#include <unistd.h> : Q% J5 s% E& P- n& R. W: P
#include <netinet/in.h> 4 `0 X2 O5 C/ B5 l* t
#include <arpa/inet.h> 1 I" J5 N* t3 I+ s* l- A, _
#include <string.h> ) a o8 j% a; S
#include <stdio.h>
2 T3 ]) o- S' L ]- r* K% bint main() {4 n7 T( R& R5 A3 ?( ~) t
int sockClient;
" z" d8 W/ A0 I; ]/ R struct sockaddr_in addrSrv;# y# c: m- w' R8 v* d+ F
sockClient = socket(AF_INET,SOCK_DGRAM,0);
7 @8 D5 M R8 g" e" k( U# e addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");' d8 z; \& x4 W( Y! z
addrSrv.sin_family=AF_INET;
) _ Y) Q# T; ~. x& b/ a addrSrv.sin_port=htons(6000);9 R a+ ?5 W" T# I: y6 n
while(1)5 F) U. M) v. p# D
{! j: {( R' d. A5 D$ Z
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));3 z6 D5 r2 M4 y$ P# n( a1 y1 M% }9 r
sleep(2);
7 J, Y, w) L+ G4 P; } } 3 H9 `3 u" W$ C' Y( X7 K7 t
close(sockClient);
; k; n6 @2 z3 M6 ` return 0; 6 Z0 m6 s4 r5 r- Z3 y
}
+ `7 f4 H; k" [1 ]$ y; z4 _2 Q; U$ w
+ C k: q. ?2 ]( ~# r! _. k2 H/ D客户端:- #include <stdio.h> # ]# C* W+ v. H- D) _! w. |% i
- #include <sys/types.h>
' l- S! _, n# |0 l. z9 X+ l - #include <sys/socket.h>
& n* F7 u$ D. @9 F" G - #include <netinet/in.h>
6 {5 J8 z, t# m# m. L* |0 ?6 | - #include <arpa/inet.h>
, a% g. a0 s' F, |) X8 Z/ }. H2 s, b - #include <string.h>
% a( u) x! c2 I' T* D. k) E3 e - #include <unistd.h>
5 o: ^* Y0 ?! U" v& o5 z' f - #include <fcntl.h> 7 o- `8 z; U5 Y
- #include <sys/time.h> # V; E5 n0 S- t" s4 I H. f
- #include <sys/select.h> % W# I( J7 `1 J) Z3 L, a
- #include <sys/ioctl.h> , C& D! ~9 O1 V+ O. w) R1 Q: j4 N
- int main() {
. o% ^1 ^1 `* I! S, g - int sockSrv;
6 P% M) z& \/ w8 p& K - struct sockaddr_in addrSrv;2 }3 Z2 l2 T% S% I
- int len; W* \% d* U5 Y! d( u
- char recvBuf[100];
- Q6 Q% T$ h( ]6 A( t - scanf("%s",recvBuf);
9 H6 I% J) S2 j3 q- O" A6 Z - struct sockaddr_in addrClient;' f! L4 A) W% e6 G9 F2 ]; m
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);
6 |/ f: `" I4 e' R - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
& S/ x# P9 H7 v7 i3 N+ a, l& r - addrSrv.sin_family = AF_INET;* N% ~% ^2 \6 B8 s
- addrSrv.sin_port = htons(6000);
. W, W- Q- m# V3 }2 A% @ P - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
8 b3 @9 R4 t" U9 Z7 q' h$ J - len = sizeof(struct sockaddr);" {! E0 J( E: d
- memset(recvBuf, 0, 100);# ~. Z/ s0 L7 o- M% G
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
- x2 M' ?* T( v+ B+ c- a. K - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
$ f5 V$ e! Q* s1 K0 P+ M# Q) c - printf("Client data is:%s\n",recvBuf);/ l% O5 T1 N8 `. T8 ~
- close(sockSrv);
" \" }$ R+ k( ^ - return 0;1 P4 w& `6 c) d( n/ v* U/ Y
- }
复制代码 , c3 Q; G7 d8 V$ I
4 C U1 W4 W% }% v5 K* M- h
4 w% g# Z( x8 M8 `. g0 ^. y% i/ h3 a4 k$ i+ Z8 h/ H
|
|