管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发
楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
, V+ b- V, g% J! ]' @# j2 P#include <sys/types.h> " V; _) v/ ^5 }
#include <sys/socket.h> 5 J3 C4 E! ~- |6 P: ~
#include <unistd.h> / b7 a1 a" e# v( m0 v2 J, [
#include <netinet/in.h> 7 d+ T% ^( i; q. M8 `
#include <arpa/inet.h>
& @! C( q+ U9 c- p( i#include <string.h>
' R9 p0 b W! p; V1 S#include <stdio.h>
0 p0 p# a$ N5 K) R! t iint main() {
! h" P3 c; g+ o: Q int sockClient;: X0 y" }8 a. l
struct sockaddr_in addrSrv;
! A7 z. G5 H; y/ T3 Q! ` sockClient = socket(AF_INET,SOCK_DGRAM,0);, y* H+ c( x/ o! U
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
1 P1 I8 @) S m% t addrSrv.sin_family=AF_INET;5 J3 |: H% H4 l$ v1 Y
addrSrv.sin_port=htons(6000);
, T: k4 E6 d" T6 [ while(1)
) I7 N7 G' P' X6 U, u {
8 s( m; N. g+ T# k. y/ w% Z sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));" v- T: o6 s! f5 f5 M
sleep(2);- g- w+ m& I r
} 9 y! I! }, Y3 q2 i! ^( A
close(sockClient); ) i5 ]4 E6 f( z0 Y/ R* Y9 k, a
return 0; 8 q: k0 a5 n" l+ Q6 n
}
A7 {! V1 ?" _2 a2 Y8 F' O; V7 a) K1 Z
& F4 V+ f( p; b4 s# v客户端:- #include <stdio.h>
8 P' z0 }: d- A' C* _9 N - #include <sys/types.h>
% ^6 H5 d0 Y0 q/ Z5 `- b n# O5 l/ k - #include <sys/socket.h>
* c; R, N6 e; o N) E' _ - #include <netinet/in.h>
5 {* p( A4 M1 j7 e" f# E - #include <arpa/inet.h>
1 R: S! W5 t- b6 o3 y - #include <string.h> . j0 }) j$ _/ g5 t$ y% a
- #include <unistd.h>
( T% U0 y- Y J% X# a3 e - #include <fcntl.h> : z" t) q( j7 b4 `2 s' Q
- #include <sys/time.h> 1 X: d; L% [2 M1 J7 I! C' q& B: S
- #include <sys/select.h> ; e+ N J6 C/ a3 l( W6 l9 Z8 r" w
- #include <sys/ioctl.h>
6 |* @. a. }$ J; K7 J$ K9 X - int main() {: d. j0 g ~0 C5 z, ]* e
- int sockSrv;0 h+ e p1 a- |5 F8 ~
- struct sockaddr_in addrSrv;6 ]( Y6 O5 e6 y1 m" ]
- int len;
e% F k. A0 D& L+ i5 h0 B - char recvBuf[100];
- C2 a. ~8 D5 Y; N, V; J - scanf("%s",recvBuf);' A) Q4 O+ s+ a7 J2 l7 Q+ z
- struct sockaddr_in addrClient;) y7 H6 P# k, M5 \ B
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);$ h! {8 h7 g! w% K+ B, `6 @0 ~# O* n1 j
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
$ ~% V; c9 |8 N0 o4 f. f8 G - addrSrv.sin_family = AF_INET;2 N6 s6 m4 r: e0 a2 F/ S! e/ v8 o5 l
- addrSrv.sin_port = htons(6000);
! `- V( d" Z# Q1 S+ D - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));" u/ V) k+ `4 K( ^, B1 L
- len = sizeof(struct sockaddr);
4 \+ f( S( j2 E7 S$ H) {8 [: D - memset(recvBuf, 0, 100);
3 {( y1 S9 u) G6 F- r2 g - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);$ n& ^7 H \% U' W4 y5 X6 y2 Y- X
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
8 ?1 E, D/ O- m# c9 ]2 w - printf("Client data is:%s\n",recvBuf);9 v1 ?$ E/ x: e3 D3 u6 X! H
- close(sockSrv);! Z! o/ O% {/ Z4 s% O( Q8 G2 W5 x) A, ^
- return 0;; E4 Y& Z% V4 L2 D, |7 R
- }
复制代码 5 Z$ T k( q8 F/ R- `- ?; x& h
$ i$ a" e6 A1 P6 v- J4 P) A! O# o- a
6 d2 M1 v9 M$ B( B! b- h |
|