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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
& s% Z y" ~+ ~* Y0 e#include <sys/types.h> . q4 [9 w' O# f& \% d
#include <sys/socket.h>
4 }! R0 V* J/ U# B# r#include <unistd.h> ' l; V' d5 A6 E9 }& X, G& s% ~
#include <netinet/in.h> 5 ]7 E" K2 {2 @' q& y
#include <arpa/inet.h>
( g; P( M6 }% p/ j5 x2 a0 W* p# u5 X% ?#include <string.h> 7 v* q% j, j: R! {! s' D0 x: M
#include <stdio.h>
, V, A7 V8 v2 b8 Kint main() {
+ R$ f# ~; i8 X4 V$ ^8 f" C5 h l1 S int sockClient;
8 q" t3 }* Z1 K: C2 N2 P struct sockaddr_in addrSrv;
5 u! u, ^$ Q* Y, t6 ?( K: \ sockClient = socket(AF_INET,SOCK_DGRAM,0);1 L/ `# f0 e2 p$ x4 }' l
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");- _1 z: F5 M9 [* V0 w& v% B; ^$ Q
addrSrv.sin_family=AF_INET;
. P; k' O( c" q9 f$ I7 v. J addrSrv.sin_port=htons(6000);
8 v& B- f8 W/ }. q7 T while(1). S- |. Y7 c O9 V0 y" B
{/ P& w* Y+ u1 q5 J8 M0 E
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));1 c9 [9 i! v) A P( H* Z, c
sleep(2);
2 f7 E* t0 T" _# [ } + D/ E" R% M+ H1 U/ J
close(sockClient);
! w. w9 }3 U$ E" E" [ return 0; ) C9 ]) t5 Y! t4 D3 ^. M1 S& W$ y
}
& v4 }- |5 r. D% s% Q/ x4 `9 J# e: R, {, a A
! m* p& r+ N: l; [/ Z* b. Q& O8 X
客户端:- #include <stdio.h> \$ z9 W4 I; I1 X
- #include <sys/types.h> 7 |5 m) q t/ c: C: m, D. j! x/ |0 O
- #include <sys/socket.h>
8 h& \5 W# T9 B - #include <netinet/in.h>
5 c3 x/ v/ l" U2 l+ d - #include <arpa/inet.h> 6 i7 V+ N+ ^7 b+ z" a% f
- #include <string.h> 9 J6 S% K( G# d5 @( @9 ?" |
- #include <unistd.h> , Y/ j. s% m( n9 \/ H, d i6 J
- #include <fcntl.h> 4 f/ R6 U" t; m. t ]7 T7 v- D. Q
- #include <sys/time.h> - R" ]. S' g* \ t E# b
- #include <sys/select.h> - o" }2 p9 h- p- D/ Q
- #include <sys/ioctl.h>
' f' w6 O& V1 _7 P0 Y* {& D1 P - int main() {1 i/ D9 a4 r0 P0 w6 s7 J, ^
- int sockSrv;- [3 i0 w2 K0 m, [
- struct sockaddr_in addrSrv;
8 O5 m6 B! ?' U - int len;4 r9 k: g: J! V3 o$ R+ w# Y
- char recvBuf[100];
- o% h4 z; H' M - scanf("%s",recvBuf);
. x' i' ^% S/ R% @ - struct sockaddr_in addrClient;
3 N) s) h$ x. C" u- u; `$ ? - sockSrv = socket(AF_INET,SOCK_DGRAM,0);$ k3 X5 o. }% i( v
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
) T. f8 f! b' Q: {, f - addrSrv.sin_family = AF_INET;6 {& a2 \5 e+ n R* M& Q
- addrSrv.sin_port = htons(6000);& O* c" b8 V+ @! H
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));5 R0 i8 A0 O% @. W0 @: [
- len = sizeof(struct sockaddr);
0 P/ l5 _( }/ F) S4 S - memset(recvBuf, 0, 100);
; E+ D. Y5 }+ D - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
3 ?1 \$ g* H0 r% T# ~% L' D+ s - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));% }) a9 A" o/ X
- printf("Client data is:%s\n",recvBuf);
5 c$ c/ h+ D' Z9 \ - close(sockSrv);' o0 f( U/ X# }7 j
- return 0;/ t& \" ]1 J h
- }
复制代码
1 s% ?: P+ d# y$ D. n1 y: _! L) }% J5 O5 n/ a2 L/ D
9 }/ f7 g2 x5 Q. F0 F
& C% x3 {# K1 u& p* B6 \$ q9 m5 }' h |
|