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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:' Z" R8 D; ?3 x+ z2 V4 D$ d1 Y4 O
#include <sys/types.h>
3 T) _6 J1 Z0 {- _' u' U% z* o#include <sys/socket.h>
4 E8 Y9 T4 A/ O/ z" O#include <unistd.h> : E3 k- d4 ?( _* Y, u
#include <netinet/in.h> ( o! x; N0 d( m: F# _5 y* R
#include <arpa/inet.h> - I3 T, x, \+ k* K
#include <string.h>
" b! y+ R4 w4 k- |( S#include <stdio.h>
( C: x) t7 U' @$ Fint main() {" i7 N1 N; F' r* \( s
int sockClient;' P, J+ \/ J- K6 o( c
struct sockaddr_in addrSrv;
. K" @1 o* k* t! c/ M3 U sockClient = socket(AF_INET,SOCK_DGRAM,0);
1 R8 ]5 K3 N; { addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");$ p' O4 R* e- Q! {/ m9 K
addrSrv.sin_family=AF_INET;
, M* h* H! _/ l9 ?' J( ] addrSrv.sin_port=htons(6000);
+ ]% W- D2 S3 w% M while(1). @/ K* a- ^$ p) R! F& L0 c
{
# k0 g4 h5 ~& l4 V6 m8 B sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));7 ?3 _! J8 _& M2 T
sleep(2);
, F, C% r3 U# y5 ~3 e4 M- l } # H1 {8 Y) w) J2 b* n- t
close(sockClient); 8 ~: x, A5 n$ k( |: _7 E
return 0; 3 Z3 B6 _- d% x) A- V) a- [4 {3 |
}
( ^& ^5 F) I, Q6 N8 K9 \3 ~
* f% n* R2 `2 ~8 j( D
' D+ w+ P% Y+ d a* X$ f( g' U客户端:- #include <stdio.h> / j$ S% Q8 _% K' o
- #include <sys/types.h> 1 b' ^% z1 b7 o, _$ n9 d
- #include <sys/socket.h> 2 {( Z2 t n& w! |# \2 V
- #include <netinet/in.h> " Q3 M: G, _1 X' L9 J5 a
- #include <arpa/inet.h>
* n; Z# S2 {7 U; o% v" U - #include <string.h>
% M2 M4 W: m! R: o: B% L; K - #include <unistd.h> 3 `+ N+ P' p$ u' C3 P4 Q
- #include <fcntl.h> 8 k8 D/ b+ U& M) ~
- #include <sys/time.h> . ^1 v, ~1 l" f4 R
- #include <sys/select.h>
7 e2 A1 Y W1 C - #include <sys/ioctl.h> 5 C, `- ~2 F/ V7 G( |* _
- int main() {
l' M# R8 n5 `' Y" H: l+ ^ v - int sockSrv;% q4 k! s0 m; j
- struct sockaddr_in addrSrv;
1 M* l9 q, f7 }$ R, q - int len;' [5 V V2 \# A# z* _, P4 d" n
- char recvBuf[100];. |. d% m. B8 q" o' y4 P
- scanf("%s",recvBuf);( A) V' o* n; f$ \) S7 U
- struct sockaddr_in addrClient;
( c( o3 H5 F0 S" A - sockSrv = socket(AF_INET,SOCK_DGRAM,0);
, C" _* h8 d4 P$ o1 q$ ]/ c- W - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
) c9 `3 S& }$ r2 [7 M8 r - addrSrv.sin_family = AF_INET;8 K5 p# @" y$ F
- addrSrv.sin_port = htons(6000);! E: Z0 O/ g0 `4 X) a9 E/ y" p
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));6 P. m5 i1 E" u& Q0 T. ?
- len = sizeof(struct sockaddr);
1 w) S5 r6 ] v - memset(recvBuf, 0, 100);
# U% k$ z2 |3 U1 i! w: ~% \ - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);! P" K* L' ]& v+ ^) W. B& V" `7 A, _
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
* v# x# Q' s6 a& { - printf("Client data is:%s\n",recvBuf);. V3 Z4 ]+ A% b; F4 g
- close(sockSrv);
) S2 \% X' t% v! L% ^) i# Q - return 0;
8 R e5 P2 m1 |5 f6 E( P$ h - }
复制代码 : ~) m& B* ?6 o. `
& W4 M1 n8 C- [) @. [' E7 W: N5 I7 {
* R P) Y, Z1 s2 V0 ?) @8 o) q# r& l9 Q+ V. W& p; K9 z0 I' N/ X
|
|