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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:/ Q" }: Y( r- p
#include <sys/types.h> % _. h1 p* R( a- c! q; K
#include <sys/socket.h> 7 M$ c+ G! @0 I: H
#include <unistd.h> * ^! s% }! m! Q1 S1 p2 Z
#include <netinet/in.h> ! G: @ h6 [' \% s1 o
#include <arpa/inet.h> $ H) e% ~0 b5 U$ I. W g# m
#include <string.h>
- H* I% V: T5 \5 S/ {) m% Z( \#include <stdio.h> . o/ |) R1 o" e* `2 u, ^! x
int main() {
: `& l. f! b3 m) K int sockClient;7 j8 n( a& A" Y$ a) A& C: Y4 Y
struct sockaddr_in addrSrv;( `' M K6 D& f c1 I6 B: P2 p$ a" P
sockClient = socket(AF_INET,SOCK_DGRAM,0); c' ~. b: y" R$ q
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
( x: p3 R+ c4 B: k6 Q: M addrSrv.sin_family=AF_INET;/ z( n/ E* _# L& G% ]
addrSrv.sin_port=htons(6000);
, l- J# F/ m. P1 L3 L0 Y while(1)+ s7 y: z3 D3 W# P7 I0 p- s, A
{! X& I2 M# p u, c; o
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));, Z7 T8 o: R$ M4 K: {# p
sleep(2);
1 n @ U9 S3 c" U- }" U }
" f+ p9 d5 C: ?/ M close(sockClient);
1 x7 H0 \1 n8 q* J+ d% V7 @6 L1 } return 0;
* p7 e, `, s" w% R}1 p4 g6 b' Y* v8 E+ a4 ?- Q& L
' ~8 t; ?! D# G+ h1 D( }- ~9 X
9 ^9 [ a8 i1 ]5 Y5 @客户端:- #include <stdio.h> & j9 n ^' C/ N* e
- #include <sys/types.h>
* t) Q0 |7 m- o( _ - #include <sys/socket.h> ; j% m D+ w/ Y6 S8 `# p
- #include <netinet/in.h>
0 V( A4 V8 ^: Z6 \& y - #include <arpa/inet.h> 0 y/ M( c8 V; S, v
- #include <string.h> ' C0 b5 I1 ^2 o' L5 H( Q/ `7 n6 ]/ \
- #include <unistd.h>
4 ?. U6 L( k p# }$ r( h - #include <fcntl.h> ; A- z i6 g5 T$ x3 v% M5 m1 D9 E4 [! ?% V
- #include <sys/time.h> # t8 q6 |9 L/ y
- #include <sys/select.h>
" m3 ?! E' f, }. y4 K8 h, t- Q; ~ - #include <sys/ioctl.h> . o; I& j" y3 F) y5 p
- int main() {
0 i- k3 p+ `" D; j0 c) _! Q" \6 i - int sockSrv;
. ^$ Z9 r$ S! x8 M# e/ g - struct sockaddr_in addrSrv;) J Y( q/ q" f# ~+ [& c
- int len;9 i$ J/ @5 ~/ D3 |
- char recvBuf[100];% ^7 c, c3 p3 z; ?$ i
- scanf("%s",recvBuf);" T [% I9 e) C% O. N, }" q
- struct sockaddr_in addrClient;
& e; [! E8 \2 l* ]/ U) g5 { - sockSrv = socket(AF_INET,SOCK_DGRAM,0);% N+ Y# {" l+ n8 @/ U! F. e
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);0 X% S9 B) ~4 |9 B) C" X6 ~8 D
- addrSrv.sin_family = AF_INET;* E' r! W3 P8 h
- addrSrv.sin_port = htons(6000);4 }% G, K* M& m8 [; `/ H
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));- J n, B5 a+ F1 y: C3 k
- len = sizeof(struct sockaddr);
+ t. d, B1 R, G' c0 I, x - memset(recvBuf, 0, 100);- I6 a- Z4 e( e2 j% R, C
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);# B' f3 k R) N! N* k
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));, x4 z% |1 c) t7 y9 Y: r, J* n" {
- printf("Client data is:%s\n",recvBuf);+ f7 ^( [' G+ q' B$ o
- close(sockSrv);+ Z7 `, Q8 q5 `: r2 ~/ L
- return 0;# O4 P1 J- B$ A$ s
- }
复制代码 & |3 [" o. n/ b O5 o/ F6 Z4 x
! Y6 j0 l, A: }2 X$ M) v, a, d
\* X/ x/ V. n0 A1 @3 n9 y4 i" p i$ N: [
|
|