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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:* |; h9 n; @- q6 i" J$ p7 T% a* ^
#include <sys/types.h>
% p% E5 I1 w2 t, F5 B; y* r#include <sys/socket.h>
+ W3 q4 M. Y' y5 X& k#include <unistd.h>
. O4 l& d& M ^' G4 ]/ L3 D#include <netinet/in.h>
0 O: h4 e1 J! @ x+ ~- D) t#include <arpa/inet.h> F3 K: o; {/ u0 P: i
#include <string.h>
' B. [4 b7 m. H8 G#include <stdio.h>
4 |+ V' t) a. D5 D B! Q [) rint main() {
% R" P$ _& z' r+ w# ^& r* x7 i int sockClient;
9 H3 F6 n+ n0 }) b3 i) i# T struct sockaddr_in addrSrv;4 K1 O7 D4 ^, S
sockClient = socket(AF_INET,SOCK_DGRAM,0);
4 o1 N" O# d% ^& Z5 D addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
0 Z$ Y' u2 Y! T) k) g' {) \/ } addrSrv.sin_family=AF_INET;
8 c$ I! ^3 B5 }# `) `9 H; n addrSrv.sin_port=htons(6000);/ Q$ _* W6 W" T, Q4 V1 D3 ]1 i3 N
while(1)
. q$ h0 ?% K( P' }: B4 ] E {
3 f8 U$ k# }7 D+ c# m sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
( ~* K9 V7 f+ D0 V sleep(2);7 w8 I9 e' k; \% c C
} # @- M+ @7 E$ ]$ T) h8 a0 w+ c
close(sockClient); 1 G" o8 T/ g3 C! w- n
return 0; / ]7 w3 Q1 q4 C% ?. ^8 w
}9 e; Z! L" H$ T3 b
* K9 a, f) X9 J' J. T8 k
# z1 z8 h$ G. V+ q客户端:- #include <stdio.h>
' D, N2 e. t6 o7 L: e - #include <sys/types.h> 3 T, E7 q# p; p2 z
- #include <sys/socket.h>
6 M9 V% g( K' B. k$ L) g - #include <netinet/in.h> , g, k, E; T9 g( O5 I: j% o2 q5 v
- #include <arpa/inet.h> : X( g$ }; C/ v4 G
- #include <string.h>
# v I5 g4 }/ [2 c7 B' Y - #include <unistd.h>
2 G" i7 L' \- o. E* }, e# v8 O! F4 x. E - #include <fcntl.h>
% Z* E/ v+ b ?) z6 H! f - #include <sys/time.h>
3 U- e; A2 ~" Z# Y r/ k3 Y) q/ j - #include <sys/select.h>
" R: v ^- @. J' m& d3 z - #include <sys/ioctl.h> ) U& r1 [- H' K2 ]- ` j
- int main() {1 Q& ~3 V7 x C" t' \
- int sockSrv;
, w) v& U7 L `' ~. G- V - struct sockaddr_in addrSrv;
# r P, T. q( { - int len;
& U5 @0 ~0 g( k& i - char recvBuf[100];
( P- G; M5 n; i6 A - scanf("%s",recvBuf);
* b3 K, b8 ?3 {: K( K, s+ e% i - struct sockaddr_in addrClient;
Q' A, q0 B+ | - sockSrv = socket(AF_INET,SOCK_DGRAM,0);; n; f3 V' B: |/ N
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);9 r! p u4 \: \
- addrSrv.sin_family = AF_INET;
: {" l/ g! }8 t: | - addrSrv.sin_port = htons(6000);
0 x( m8 o1 u6 Q! z; k - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));8 [+ c3 i N1 C3 P8 `7 F, @& g
- len = sizeof(struct sockaddr);: p, I) s$ L$ {( ]
- memset(recvBuf, 0, 100);
$ q. R+ d5 K# b; a! L - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);( a; V7 y2 }0 b$ e5 _3 t
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
+ u& v1 n# K2 J9 b9 g, v7 Z% V - printf("Client data is:%s\n",recvBuf);
! \7 E6 q2 x J+ l9 k* y3 N - close(sockSrv);0 o4 L6 r5 p# K
- return 0;
0 Z. s/ ~# G" h1 m: a2 u - }
复制代码
$ H8 B6 [0 M1 l- e
" `5 m+ l9 j+ L h
# r% p7 Q3 L5 J% l
2 w5 p5 H' e! u" w: _ |
|