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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:; y3 V& R+ s; z9 J; M; i
#include <sys/types.h> " s) Q5 M6 q/ R5 L6 x: j# q
#include <sys/socket.h>
" v; O: e( _$ u! P. }; S#include <unistd.h> + n9 D5 W% b2 ~/ |* E
#include <netinet/in.h>
5 `( ~4 w3 K7 [/ I#include <arpa/inet.h> 8 v2 o1 O+ g" z; C9 ~) M# T# @/ e
#include <string.h> 6 q4 Y/ ?5 n; n5 [
#include <stdio.h>
n: G' d/ s4 ?6 gint main() {- F" w. O; i3 X' g+ f3 k
int sockClient;
2 X/ g i7 Q$ x struct sockaddr_in addrSrv;; g: X0 }' e* w% U- ]% j8 ~$ t* |
sockClient = socket(AF_INET,SOCK_DGRAM,0);% W) Q5 U* V' W9 W6 o) `
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");, {. _* I9 ?" Z9 f
addrSrv.sin_family=AF_INET;
/ e9 U" l1 c7 W6 F' o+ P3 l4 u- v- Z: b addrSrv.sin_port=htons(6000);. g( J T! k/ n( X% \4 d- R
while(1)
5 |9 C" s B5 q {& B/ ^; n3 B; O9 a
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
' o- y% y( I$ T sleep(2);
' p/ `" f5 @! ]: o0 } } / s5 s- ?4 O8 F p; v/ _& U: l
close(sockClient); 0 O! O7 y$ W4 Z6 A6 X
return 0; 1 I1 t5 m6 w. Z D# l# o3 S7 X
}/ ]: u( ? [) _5 ]
- E" O5 j) Y) @9 e; K# u
* G2 e, l! W' l. |7 F d6 z客户端:- #include <stdio.h>
) C7 o2 _7 r: L! [) [9 u, ^ B+ q - #include <sys/types.h> , H/ E) Y, b8 }
- #include <sys/socket.h> ; X: B( W; y: e( I! q! @
- #include <netinet/in.h> ) Z8 a+ a' o* t# i% h- Z
- #include <arpa/inet.h>
7 c6 k* t5 l) |6 m; @1 R - #include <string.h>
6 ^9 {* J4 a! J/ E" {6 d8 E - #include <unistd.h>
, z) J/ d( G- Q/ |# S$ C2 R - #include <fcntl.h>
$ n m8 R/ R! F" p - #include <sys/time.h> # c( l% W- w+ m4 B5 k' x/ O
- #include <sys/select.h> 8 D, P8 o# [; ]: ~3 f; B; L
- #include <sys/ioctl.h> # B6 f* f5 P7 H7 @
- int main() {
# I$ ` j, g Q- h - int sockSrv;
' Q9 b% H# G% Q* E - struct sockaddr_in addrSrv;
/ r% n! C9 ^# U2 p) h1 S+ e- L% t - int len;
2 R5 w1 s K0 f" Z$ C {! w1 d9 F - char recvBuf[100];
* o7 W7 p; o$ [* `! ` - scanf("%s",recvBuf);. r) f' q8 V: e$ e; a
- struct sockaddr_in addrClient; p# z* M% ? o9 `* e
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);: F1 O* Z8 H( c" u: B C# v! d
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);% u7 S9 p# X6 a1 T. y# f( z; V9 H
- addrSrv.sin_family = AF_INET;
/ |. z% {4 J- O3 b; b& f9 y - addrSrv.sin_port = htons(6000);
[' b$ Q% G; |/ X) ^ - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
# d9 `- ^: {1 J - len = sizeof(struct sockaddr);8 i+ O8 I& Y( t5 B
- memset(recvBuf, 0, 100);
4 ^% E5 \! g7 [, H9 o( B - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
) [) J3 N4 {' N1 F& d - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
( z: G* e$ Q1 a8 v' U& P! @ - printf("Client data is:%s\n",recvBuf);# d) C6 y! `5 A8 o$ [
- close(sockSrv);
' c0 N9 E' I0 _, q% r- ^2 k - return 0;
& g3 Q' |( B0 w - }
复制代码
& \/ U5 I" ? F9 Y6 B& Q j9 M K7 l9 ~; W+ O5 t( x
0 b" M3 d) B9 U0 m4 D* D2 d
( a$ J2 \& L+ n$ r" K9 B) @
|
|