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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
/ t$ O% r+ V) _7 ~& m#include <sys/types.h>
; N" A* |3 Y' S1 `: E#include <sys/socket.h> - s0 y" a# p/ v. j9 I) y( {
#include <unistd.h>
& X" G0 X2 [& N3 _#include <netinet/in.h>
1 a# e& G' p( k) ?- O7 S$ M' H# g#include <arpa/inet.h> . C! D: m5 ]1 k. C1 U
#include <string.h>
! v' i0 @* i- S$ H3 n#include <stdio.h>
1 C; S4 d1 C% U1 sint main() {& l4 m) d$ {$ j7 q" e
int sockClient;
: r! W' x% P) g4 Z4 H struct sockaddr_in addrSrv;
, R, n& U2 R& ?9 |1 E sockClient = socket(AF_INET,SOCK_DGRAM,0);6 Y9 V4 |( i! n- @5 D( Z _* i
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
) B% Z# {* j6 N1 B4 Q7 @ addrSrv.sin_family=AF_INET;. ~$ p9 V0 ?7 y% \
addrSrv.sin_port=htons(6000);
, ~# h- Y) `# |3 {& \8 W0 m while(1), {2 |! W- M& x1 \, Y# M7 F, Z1 _ Z
{2 l; H; A- C! }6 n) i4 R4 b: ]
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));8 F/ u$ |2 {6 f& s
sleep(2);6 @/ k) y; D1 v6 C
}
v# M* Z, F" Z- `) r. _( G close(sockClient); " [8 E' C% q; z( {5 L& M) ~' S8 P
return 0; 5 P4 [2 _$ C) O# A7 X# X0 [) j2 z
}
. `; S/ a% y- ]: [& g( M. ^9 \& G" p& T. M4 [
P9 [5 _! b. `- m0 @; ^客户端:- #include <stdio.h> e* k; O# {8 K R6 R
- #include <sys/types.h> , W) T8 C6 [6 Z0 {. ]7 a7 y% ^8 @
- #include <sys/socket.h>
1 X- G6 U' @: M( H$ \ - #include <netinet/in.h> 8 J: D. T" v2 x+ d. F# J
- #include <arpa/inet.h>
8 U' M" Y5 H7 S, s( h - #include <string.h>
8 c$ M+ b& T4 y - #include <unistd.h> V# s% ~ h Y w, X; U
- #include <fcntl.h> - ~' a* X$ \0 x' G9 w3 ~* A
- #include <sys/time.h> $ K# K9 V- I2 A% i9 P) ^! W7 }; R
- #include <sys/select.h>
5 h( e/ G. K# h3 {( b" y# H7 u - #include <sys/ioctl.h> 3 C2 r9 r) T8 o2 d
- int main() {
" |" s% w) }$ r - int sockSrv;$ @) o# G" O3 ]- D
- struct sockaddr_in addrSrv;- y. }) T" y1 o+ Y
- int len;
, f& K+ o0 V: M0 B$ I6 Q& _ - char recvBuf[100];
/ q- Z3 ^" O( C* ` - scanf("%s",recvBuf);
8 s# i8 w- F6 v! d) o - struct sockaddr_in addrClient;
0 D, Y7 j) ^0 W# P - sockSrv = socket(AF_INET,SOCK_DGRAM,0);
) h" [$ B. ~! z. U; X+ ? - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
$ z/ t3 n- s& g2 m) P9 \7 R7 A) z - addrSrv.sin_family = AF_INET;
3 t) m$ \/ T; j- ]0 H* z: e - addrSrv.sin_port = htons(6000);" f, E3 C- C6 g2 L+ \2 }
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));7 R/ f5 a9 p0 M* A
- len = sizeof(struct sockaddr);
2 e; E6 h$ r2 @3 Y- p1 Y - memset(recvBuf, 0, 100);
4 v7 K( ] Q3 R! B1 C$ z j - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
/ A- U0 ^( l" O7 T+ {8 [. I$ F - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
4 t3 f5 p( u9 ^, J+ T+ G& p - printf("Client data is:%s\n",recvBuf);
|* _: X" [6 O2 W - close(sockSrv);6 a) V v4 a( H! A- H. G+ m
- return 0;; r4 f" T3 X1 w. {6 M$ q+ w
- }
复制代码
4 E+ c: Z) o# B& K% R" ?
$ K/ B6 ]! t! V" h2 h7 t( B6 z) F: X g& x( w+ A: l
# P7 L+ \' F9 G, a& V, t |
|