管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
沙发
楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:" G" C' I/ S; D& G
#include <sys/types.h> ) D% R/ ]: f; A! H/ ?
#include <sys/socket.h> + I0 W$ t. {3 y2 B1 s- V
#include <unistd.h>
7 a8 e: r/ E1 S* t" ]( o A#include <netinet/in.h> ) S0 x% {7 F) C& I, Y$ ^5 Q4 W3 f8 s
#include <arpa/inet.h> ( o8 w' v: i) V" p7 g
#include <string.h> 0 c- k! j- ?" f3 z
#include <stdio.h> + _, G% r& C0 N& ]
int main() {9 ^* d0 e8 \! d6 I, c2 k
int sockClient;8 P V( X/ ^' n( I
struct sockaddr_in addrSrv;
" W7 I9 i. m! K# Z$ z; L9 d sockClient = socket(AF_INET,SOCK_DGRAM,0);, }! }# J9 s8 v" t) E
addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");& a' B) f/ ?1 k E3 z' E
addrSrv.sin_family=AF_INET;! l A6 _1 Q- a3 [/ T# V% k
addrSrv.sin_port=htons(6000);8 i5 h1 i( S+ f
while(1)
4 ]2 g+ Z; S% S' ^0 \+ ]6 s. H {0 g) c- N2 L% O! a
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));* I6 k/ Q' @ M0 U4 @3 d4 s
sleep(2);
1 B9 m1 u! P) M, X; ` W } % _ c4 v: F( ~% U/ B
close(sockClient);
9 m7 n: t0 n# v; B return 0;
( R9 t/ v, X# T}
4 R/ N, S, v- M: Z1 z& k) \% }4 N5 w7 d
* r2 h4 {# o. ~" ?* Y4 Q" S客户端:- #include <stdio.h> 5 L8 a. r. J. `
- #include <sys/types.h>
; j6 o" U$ j# e; H- T - #include <sys/socket.h>
& A; V9 O* S& H* p+ y - #include <netinet/in.h> Q X, E) I* l& Q. X" C7 O9 i
- #include <arpa/inet.h> # x! m8 B: t# q7 Z: l6 }5 t* A
- #include <string.h> " M6 F! v1 k2 ?7 ?$ L* t9 P
- #include <unistd.h> - H$ r/ t' \ [9 Q0 J
- #include <fcntl.h>
2 c1 y# V; m/ |! U% x7 G( a - #include <sys/time.h>
9 ^5 O/ Z$ I2 R6 `4 ` - #include <sys/select.h>
9 f* w5 o, p" } - #include <sys/ioctl.h>
% ?: o6 u, k0 A" b5 {8 v$ z - int main() {
1 J# L: @! W) N5 x5 u9 f - int sockSrv;( \( u, k' c2 [' ?5 s. j" i+ d
- struct sockaddr_in addrSrv;; j. q7 c& `6 ?0 G& H8 e; Z
- int len;# J' s" N& A; D; D% R, @- f
- char recvBuf[100];# }, @8 g& \6 f4 G$ n
- scanf("%s",recvBuf);" \0 ?" Z/ x. h1 Z/ V; P
- struct sockaddr_in addrClient;
' w1 B3 e4 D) E( n+ |% e5 u - sockSrv = socket(AF_INET,SOCK_DGRAM,0);
4 H3 h2 e- H0 c8 g - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
& T, ~6 |: K3 a6 ]$ N - addrSrv.sin_family = AF_INET;
: Q) {. \/ ~1 Y$ N - addrSrv.sin_port = htons(6000);3 a3 W( B4 A; [# \1 S9 Z7 H! X
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));; D1 |; Z, E7 [, J- N
- len = sizeof(struct sockaddr);
^0 r5 N8 x% F- K9 R - memset(recvBuf, 0, 100);
5 ~9 B$ D& C' H - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);6 L+ N1 P5 ]1 w" X% R' |7 F9 v# R
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));+ y7 U# Y/ F3 c0 h4 f# B# D6 J' }
- printf("Client data is:%s\n",recvBuf);
; q; j9 P7 ^" ^* {7 @ - close(sockSrv);# g$ h! r% t. i2 l9 q& [+ u
- return 0; |/ ~( ^5 P. T' v( ]" X
- }
复制代码 0 C% z/ Q2 K2 V5 F
7 k- Z% s! v" y. u
( q% v4 T$ g3 T, L
" i7 ?; O1 x$ n, \6 L$ s/ z |
|