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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:9 C& H6 \7 m) x9 K
#include <sys/types.h>
: R) H3 U% h3 p2 _: d: s#include <sys/socket.h> " h% z9 G& N8 h: G. _
#include <unistd.h> 8 u- ?" j( \. F
#include <netinet/in.h> " ~6 d H) f. e3 w- [6 A
#include <arpa/inet.h> 9 K! j( t' ]0 y0 t h- K- O
#include <string.h>
2 I( R3 Y9 m; C8 \0 I* k4 X#include <stdio.h>
# W( G$ `# p) Z; Z" F" b; i @int main() {
& G& ]% n: B; S% n. |1 v int sockClient;
$ Z0 O/ ]) ~& f; k struct sockaddr_in addrSrv;
& Z6 _/ C' E) ^2 Y sockClient = socket(AF_INET,SOCK_DGRAM,0);
: C& \+ \2 [- K+ V addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");# A" Z( V+ `9 \
addrSrv.sin_family=AF_INET;
' ?) b+ x0 ~% D, N8 k addrSrv.sin_port=htons(6000);0 @( M1 P% b+ q6 H0 a* A
while(1)
6 O, [1 n$ r- v {
q; Z G2 C5 B9 X z; a4 k sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
5 q% c0 ]: w2 z sleep(2); X0 p, ?) _+ }
} " z- z/ ^+ W1 g( T$ s8 c
close(sockClient);
, z1 ]2 w9 H- u! N4 H return 0; 4 a- A; s6 r2 m7 D
}
' L7 C( T3 n9 c6 @* m
R. Y+ ^, f" p4 j/ A( h6 o" ~3 m3 D& n4 L* i0 {
客户端:- #include <stdio.h> 6 }- \0 i5 q9 H* ^
- #include <sys/types.h>
: I( R |% X! t- I! j. y: ~8 @* I - #include <sys/socket.h> * h. F0 j' B {0 \9 B8 N
- #include <netinet/in.h>
% H& e" S' @1 n" { - #include <arpa/inet.h>
d+ {' x5 O4 F - #include <string.h> 7 Z; k' w/ l* a2 p5 Z1 ]/ K. s2 h
- #include <unistd.h> # Y+ e2 m' _- K+ G. L Q8 b& r" L
- #include <fcntl.h> ; x9 K% j7 @3 d* t9 \& _( F
- #include <sys/time.h> + @3 u) p/ x3 `; ^
- #include <sys/select.h> & S4 a& D# {* |) N8 e
- #include <sys/ioctl.h>
. d# [8 ?3 T# W3 T; Z) H4 Y% U - int main() {- Z1 F5 p6 u% b( E: q H# W( k
- int sockSrv;6 w9 Z( N. e9 z+ _
- struct sockaddr_in addrSrv;$ R) u- p* T6 H1 M# ?/ n
- int len;/ a: L9 x( {; V7 ]& k4 x& _" r
- char recvBuf[100];
6 z* Q1 S7 ] T5 T* v( U" n - scanf("%s",recvBuf);
& A2 _; ^5 ^! r& h6 d- | - struct sockaddr_in addrClient;" G1 N9 X) M3 w S' u: u3 l
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);
" k. y/ G4 K0 p! Z+ ~0 |" f - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);" }" I* w5 k* t5 A2 z8 u& y5 G
- addrSrv.sin_family = AF_INET;, |) f: `! o! g# u' ]
- addrSrv.sin_port = htons(6000);$ r4 J: K. i/ e2 ~7 N0 Y, O# `5 z
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));/ g% r) U' f Q) g
- len = sizeof(struct sockaddr);
Z1 m; b- j+ ^8 u* E- _* O5 P0 d - memset(recvBuf, 0, 100);7 `" z U1 N6 f) f: A2 N$ V7 n
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);/ s% N! w( w) M2 O
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
1 E1 E) j1 S' G4 F' T$ v9 M - printf("Client data is:%s\n",recvBuf);
1 @! s% Y# J( k: T$ H - close(sockSrv);
q9 p% d- W+ |' ^& q4 u - return 0;# f+ {& T- u' n- X
- }
复制代码 # v7 j: x4 J8 k# C3 |8 W* e @2 {
. d- F- o4 {" o; H! ~/ E9 G! P
7 u& K" `7 \0 R; b! h
* d7 L N4 G Z: Q# s
|
|