管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发
楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
3 ]& T- N1 ]- |0 m- r& E- N. h1 b' ]#include <sys/types.h>
7 j2 `. t2 a2 P4 A#include <sys/socket.h>
/ G, }) X& O9 q+ |, h#include <unistd.h>
- A C/ R; [: f) ^# l2 p }#include <netinet/in.h>
F4 P3 e1 C9 S#include <arpa/inet.h> , S2 m- V# j; i
#include <string.h> . @5 f( o2 H4 s6 D& V! d1 ~
#include <stdio.h> 0 @, p" a$ d0 P
int main() {
, }. E" Y8 f3 k1 Y0 K8 k int sockClient;/ \1 H) u; \. { m# H, ] y
struct sockaddr_in addrSrv;
& v) f, x8 r" D3 o1 Q1 i sockClient = socket(AF_INET,SOCK_DGRAM,0);1 x* b/ g2 q% Y2 L6 h! |+ q
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
: z( [$ ~; Z) [5 Q* ? addrSrv.sin_family=AF_INET;
8 J5 s7 h$ C! V+ V, G3 g( E7 U addrSrv.sin_port=htons(6000);
# O/ H* D6 H1 N/ O' p4 ~2 l while(1)
9 z8 v9 p$ C4 Y; O0 G! z {1 v" U |+ V: X8 {0 E$ Q: N2 K2 K
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));! ?" C/ _1 g1 N
sleep(2);) b4 b3 F1 d' N* ~
}
; s: r7 z n3 X: s! o# u close(sockClient);
# u& v- y! ?& M- V1 F return 0;
$ p4 A9 y7 a6 n3 A2 w7 G: A7 I}; x5 Q! a ? i
. j* x+ N2 s; I) G8 _
5 W9 N: F) c4 x$ |2 w Y4 Q$ ]$ o客户端:- #include <stdio.h>
( @/ _1 ~; \5 K" X4 I) f - #include <sys/types.h> , s" ^9 H6 f |; t
- #include <sys/socket.h> ' {# B. U4 D$ ]% `; m1 [
- #include <netinet/in.h> # A v. c/ I; K5 M u* U
- #include <arpa/inet.h> * `- H0 G* C8 U/ T* }8 n8 r
- #include <string.h> . k- M0 m9 m7 L( D; F& J
- #include <unistd.h> ; |, U' x6 d" d5 k5 I7 F, ~
- #include <fcntl.h> , N3 N: H& v2 _
- #include <sys/time.h> ' j9 ^! P9 l1 ?
- #include <sys/select.h>
# p8 N2 c0 K3 y! s" z$ ? - #include <sys/ioctl.h> , J$ L7 m7 H( Y; Q
- int main() {
) u& t3 w% c; }2 `% |, | - int sockSrv;
1 q7 J% \* k8 L1 f - struct sockaddr_in addrSrv;
8 O! ?+ Y) H# Z: d! ^4 P - int len;5 x5 P. z2 a7 P4 [2 r7 M
- char recvBuf[100];
4 |+ k! b" f, i- @ - scanf("%s",recvBuf);! L! R' ]/ W M; X1 ]$ h
- struct sockaddr_in addrClient;7 ]+ n* w1 X8 a; ?7 L
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);
- ?, ^ K( \( ]5 _! y - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);" {( s6 ]! P# d# B% _, i
- addrSrv.sin_family = AF_INET;
) |3 e C ~5 V: }6 W( }4 h/ v* E: N - addrSrv.sin_port = htons(6000);
1 p2 D% B8 U0 v) T4 c: d/ @ - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
2 e, w. M( B$ ^& C0 x9 c" Z - len = sizeof(struct sockaddr);
* o2 s$ w7 g e v% U' K+ s1 _. _ - memset(recvBuf, 0, 100);0 a0 S4 c; `; w' C+ Z; y* D
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
9 D9 F& Q# o2 R' Q6 S, q r - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));: \1 h" b7 P$ B4 \3 H5 o& P5 i
- printf("Client data is:%s\n",recvBuf);" [+ J! I, ?, _4 M4 ^6 z$ p
- close(sockSrv);0 }. s; w# M- ^6 t0 b1 t B w
- return 0;
4 B" g u& b R7 N( K - }
复制代码 6 c' X& Q4 T7 o9 B) e9 u4 a. b! c
9 s; C3 |2 P6 ~8 a, g g& g
* Q. A5 k% {; D: p
/ J2 X% D; h+ _8 k& W8 W# l
|
|