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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:! C6 _/ d8 Z/ \, ~# N# R7 t" j
#include <sys/types.h> ' t4 K; f" u* C1 B
#include <sys/socket.h>
! f/ B2 I" B+ U& {#include <unistd.h> " Z5 T+ p8 P2 n3 m# D. A' j. }
#include <netinet/in.h>
4 G" Q. Z- {) L4 `0 l3 s#include <arpa/inet.h>
3 r+ w$ [1 O' B! v4 s#include <string.h> , X# d# g/ c4 P' |
#include <stdio.h> 8 _) ~% G w! t/ [8 w5 r* z8 G! Y
int main() {' v0 R; M C5 R/ ~& b
int sockClient;
% H+ x7 f0 I* d% M2 E9 R struct sockaddr_in addrSrv;
* D1 y. F( l/ Z5 Z sockClient = socket(AF_INET,SOCK_DGRAM,0);* G/ Z( r* A+ R* V) I% w
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
$ ?/ m6 ]" _1 c addrSrv.sin_family=AF_INET;: Z: R/ I2 T% h: e* s9 q
addrSrv.sin_port=htons(6000);3 K7 O f3 R7 v1 o p) x/ B5 S* {
while(1)
3 o( i' r# O6 s$ _% D {
' D" L2 j( _, _4 T" i" k sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
! A+ z9 e) b/ ^/ g sleep(2);$ r( g. T9 F/ Z
}
1 i9 L, T' X0 d# \ close(sockClient); ' J$ K9 \( |& G
return 0; + V* c- g* q' W
}
# ]+ p1 g9 u. C4 j/ q* c) K2 v. D1 `# s3 P6 K$ `, N
& y+ w, _" G7 I$ C- R, i
客户端:- #include <stdio.h> $ z; }% \ G) B9 L" A u2 ~
- #include <sys/types.h>
, \+ Z! S& T# V- Z2 S% }5 t - #include <sys/socket.h>
. _; F5 {+ ]' ~. q9 B, H% \ - #include <netinet/in.h> , V: B$ i5 y) I+ h) u X
- #include <arpa/inet.h>
1 n0 V6 T/ F& Z5 C/ r b - #include <string.h> 1 [. f8 V+ X1 v8 ]* F; F
- #include <unistd.h>
- Y0 j1 A0 R) l- |2 \ - #include <fcntl.h> ( O( i7 Y2 s/ ~5 K4 h$ G
- #include <sys/time.h>
% v3 U1 ?' C5 i( y4 [ - #include <sys/select.h>
7 f. H( h1 E0 ]% m- [& \- C* z - #include <sys/ioctl.h> - d1 s3 K0 }3 d: h
- int main() {+ x' c7 ~& h7 _$ b2 A7 N) t2 q R
- int sockSrv;
: n: ?/ l' J5 v% ^- _" N( g( V - struct sockaddr_in addrSrv;6 h" M! k7 F. a" y) |' _
- int len;. A6 h3 T. @+ ~6 T# F8 X* O
- char recvBuf[100];$ A z- U9 o1 W0 t7 E j
- scanf("%s",recvBuf);$ ]* Z3 M+ y& ?- \% ]7 H7 F2 K( i
- struct sockaddr_in addrClient;
- x" L, s6 S/ I9 C - sockSrv = socket(AF_INET,SOCK_DGRAM,0);7 W! y, v$ x3 [8 a( }2 h% j3 _
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
; X8 k7 l( m( W% g! j; T) g3 |: E - addrSrv.sin_family = AF_INET;
( T1 E$ U, S& p6 S - addrSrv.sin_port = htons(6000);
, E) b! o0 T; y) Z - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
2 |: G7 l$ e) r1 E - len = sizeof(struct sockaddr);
: ^1 y- x7 @9 `, M# a$ G - memset(recvBuf, 0, 100);
/ y* M) Y5 p2 ]' O- Y- y9 s! J2 b - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
& L; N9 X3 B1 k. r7 q0 }, H - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));# {! w" y3 y9 r5 V
- printf("Client data is:%s\n",recvBuf);* W& K' X2 V* Z' [7 d! O4 l
- close(sockSrv);) K% G, d j/ x L
- return 0;& q1 M- k; T! n! ~ [+ m
- }
复制代码
- Z" v- ]2 x& ~( \7 ^, y$ Q$ v' L
2 s# Q4 U5 j$ B( O' ]& y' Y5 \+ K( `9 Y/ _4 P
& J0 t) |- t7 w6 ^ |
|