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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:# ~6 ?& N. l; @# a
#include <sys/types.h>
+ ?; z1 d- V H' {#include <sys/socket.h>
6 ]: Q* m( D5 |. M, a! L0 j& J#include <unistd.h>
/ e8 I1 c7 {% I" o: B/ w9 |#include <netinet/in.h>
7 c# ^9 v# p' g2 n7 W/ V9 s* M#include <arpa/inet.h> 0 [9 `% ^* E8 E m/ j' i1 r+ V
#include <string.h>
6 H( ?4 j& r5 j! d#include <stdio.h>
) k6 s7 t4 u% d) x# n- m3 Cint main() {
' t2 |3 ]5 X! t int sockClient;
% G5 I( C) u' p5 T- z! O9 M8 m: D: x struct sockaddr_in addrSrv;
+ y" e. U% H2 l. Z5 L* u& W sockClient = socket(AF_INET,SOCK_DGRAM,0);
z9 x; k: m& t* p+ n addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");3 H9 J1 t# G: ^6 s8 R
addrSrv.sin_family=AF_INET;6 ~5 N s- l5 t9 M7 d4 t
addrSrv.sin_port=htons(6000);8 v s/ I6 a$ G7 ~1 w
while(1)
6 h+ i0 x" G( { h* E+ A" S- Z {: B; o1 Q: ~$ t0 W2 k0 E
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
; I! f# r" {+ H7 e sleep(2);. S3 m7 m0 _" ?5 m
}
6 R5 E w) r% k: g( U/ m& o/ r close(sockClient);
% V- e6 M3 V. h% \" ] return 0; / v9 F& `. N% ?/ V
}
4 g* v; ]0 {) A
9 N! D' r7 `: @7 ^5 ~ O
. e( u. Q5 g* c# s6 O! C/ e1 h客户端:- #include <stdio.h>
7 Y7 Y2 P' H: F8 R- c1 O - #include <sys/types.h>
% D9 A5 t0 d7 N( Y% C- u* A - #include <sys/socket.h> 9 p, o7 m" A' ]3 \
- #include <netinet/in.h>
" P+ U# ^' q7 Y6 K$ g( U! j - #include <arpa/inet.h> 0 s$ Z; z% Z, F! B3 m+ ?1 y
- #include <string.h>
' t; b/ G. c1 Z; d1 o, z# P - #include <unistd.h>
: v- ^, z7 w% D/ N# E: O - #include <fcntl.h> . G! M2 k( p [# `' z0 r
- #include <sys/time.h>
; X4 Y5 d2 X }/ b" I r - #include <sys/select.h> ' V3 `) ^* m R) y! z
- #include <sys/ioctl.h>
- T2 b3 G: }6 i+ L: A' G - int main() {
/ |( i% z, f( ^ - int sockSrv;7 M: a4 X* O- r% O
- struct sockaddr_in addrSrv;
" ~% M: n: M0 w; }9 }4 Z - int len;
- L3 w U$ a- @2 q3 y- L - char recvBuf[100];) C7 ~2 |1 v( U8 g9 Y
- scanf("%s",recvBuf);- N+ I. k) ?6 m$ @/ l
- struct sockaddr_in addrClient;
6 p, k) e- e0 _5 c9 E# w% D - sockSrv = socket(AF_INET,SOCK_DGRAM,0);
5 N E1 R# Z& f( n. F1 R' _ - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
6 ^/ M7 }6 f1 @* i - addrSrv.sin_family = AF_INET;- @7 C) s" g) L2 [" ?
- addrSrv.sin_port = htons(6000);4 G2 T, p% i+ R8 p1 R
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));
) P, `6 E( b: j r; [ - len = sizeof(struct sockaddr);
; }! G& l( F0 Q; H1 Z! X - memset(recvBuf, 0, 100);, a- j- f0 j9 j2 A( O: Q( r
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
4 B; A# y/ f7 S8 W8 T0 S" X: y - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));$ M2 D* n2 n+ v0 H1 A8 K4 I
- printf("Client data is:%s\n",recvBuf);" l) R+ k, S+ i; d5 Z8 d
- close(sockSrv);0 [/ Z t& ?; T8 [
- return 0;
3 b* `4 {* U) b - }
复制代码
: X( ?) N. O. J4 y3 K; d+ y& t% t6 Q8 q6 G% m4 P* J
6 @( o) ]% g8 t
8 ?* }5 _3 n3 l0 k/ }5 h0 I. k
|
|