管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发
楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:
( I4 z9 K8 M! p0 \2 [3 V#include <sys/types.h> ; L# c: q) q1 q4 c* J+ _. x
#include <sys/socket.h>
* G3 d! K# P' N- \3 T#include <unistd.h>
: X9 A+ ?1 W! x9 C#include <netinet/in.h> \" j4 h# g1 f+ y5 d( l8 C- n
#include <arpa/inet.h> + P7 g5 i7 B9 t% S2 c8 f% f
#include <string.h>
0 j! R# E) ^' J. R% h#include <stdio.h>
0 ?1 u. D8 m& U5 n' Uint main() {
! f, S- v2 E" V- A3 j' G5 \9 Y int sockClient; [3 o" C/ H( p( D
struct sockaddr_in addrSrv;. A l! {) r m# @
sockClient = socket(AF_INET,SOCK_DGRAM,0);
9 G" m$ U% H$ u5 P1 [( p, X addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
5 ?% ^4 C7 u$ T) c! a addrSrv.sin_family=AF_INET;
$ h8 A: w: S! o: Y addrSrv.sin_port=htons(6000);
# m3 ]7 u% {- @- Y; [ while(1); m D# o( w. `- t \( |% I0 N/ v
{2 G5 l7 }: f, Z, s$ b$ U
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));6 K% M0 j& t" s0 R/ C# Q
sleep(2);
+ \1 e# b# Q7 R1 H1 j } . X* Q* H t6 J$ x
close(sockClient);
* R; q# @+ q0 U$ [; ]$ [ return 0; 0 l' f) [% f; O& c
}2 a9 ^( ?5 E- Z7 \4 }$ V0 Y6 c
8 t( q7 _3 {! g/ e
0 U- d4 Q q+ i客户端:- #include <stdio.h> - V) g8 Q6 q6 `, `- n% U
- #include <sys/types.h>
% `( G8 C( P, R - #include <sys/socket.h>
" u& P$ I, P4 [' l5 A - #include <netinet/in.h> 2 T/ u. N- ?/ k
- #include <arpa/inet.h> , | |; Y* \/ A; h) J6 j V- l+ _ w
- #include <string.h> N8 J9 i: k1 \4 k% \6 V
- #include <unistd.h> / y/ `3 J' x- c' t& X0 @, L, t$ J# A
- #include <fcntl.h>
9 `& Q1 K; T2 p6 U1 ~ - #include <sys/time.h>
+ _9 s/ o; z$ F6 A. H& G3 Y( j8 ~7 f0 w - #include <sys/select.h>
$ y3 d" N1 q J' [5 v Z% ^2 h* A - #include <sys/ioctl.h> : h; M4 o+ W, ^
- int main() {
1 X, q1 S0 D9 o* f! L! b - int sockSrv;* r# f! l' \* Y3 s: Q
- struct sockaddr_in addrSrv;; d7 m, p u9 j5 y2 t8 R: s. ^
- int len;& {3 {9 U& I0 b- ?
- char recvBuf[100];
, f5 m* `( y; Z, d1 B% O% O - scanf("%s",recvBuf);$ K- [8 @ o$ _8 q# Q* `; M( f; n
- struct sockaddr_in addrClient;2 H% G( a* q1 V9 M+ Q
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);
) b) r( i, N8 J2 ? - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);& b3 Y1 y6 Z- |7 W8 F) A4 b
- addrSrv.sin_family = AF_INET;* g, G4 v8 q& Y( P/ M6 a
- addrSrv.sin_port = htons(6000);
* G/ J& y1 E% @( g" `# r( }, B - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));3 A( q$ Y) L5 G6 l- A
- len = sizeof(struct sockaddr);% X4 _3 r8 I& A+ d
- memset(recvBuf, 0, 100);' k: q! J: e- C* S9 A _4 K
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);: P# e; q9 C( i
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
, o5 U7 D' A) M- ]% l/ K/ f; `9 l' o - printf("Client data is:%s\n",recvBuf); i0 I. I+ E: f G2 g0 M; t
- close(sockSrv);" |! p" H, {: f3 o9 ^ D
- return 0;- D/ y R! @8 Z5 u
- }
复制代码
5 o' W8 Q, f9 R& A: B6 c9 S7 H% k6 B' t% S( e) G
1 s& z+ g# w& g/ q' Y# X
/ o$ X& N5 I% v |
|