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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:- U! P% ^5 k# o* S7 x2 [; I
#include <sys/types.h> / V# }; K2 B( w# m ?
#include <sys/socket.h>
- s4 U+ a4 I' |4 g$ R! d#include <unistd.h>
! e6 l# n7 ^2 W% Q. y2 x#include <netinet/in.h>
* f6 T2 b4 V0 ^6 d" @6 N" k#include <arpa/inet.h>
: P* M* a6 @6 d& a3 Z#include <string.h> : L- n5 ?- T. |& @" ^; P% {
#include <stdio.h> * Z; F9 i9 ]! h7 _: \% y# ?; Q
int main() {
, e Y+ G) C4 g int sockClient;% e5 Q+ F* H* G9 U3 R( p( r$ w
struct sockaddr_in addrSrv;
4 w' O: W, i$ f; c, ~+ {. b5 z2 J sockClient = socket(AF_INET,SOCK_DGRAM,0);
% [8 \; C( P- T2 E3 [( A6 p addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");
; B; z$ m, B9 s2 f5 a addrSrv.sin_family=AF_INET;
! S8 a" U! Q. \0 i$ G ? addrSrv.sin_port=htons(6000);
: U( X( @7 A4 z& e! ^ while(1)
) t( \$ P0 W3 c( ^0 L {# Q1 k& F$ k9 P) i* ^5 a
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));, {& k$ @; w5 ~# d$ V% N! |
sleep(2);, n* n% V- V/ f) {) |" ~' G. @4 [' [
} 5 Q: u4 a' Y* z
close(sockClient); ) K+ b4 [3 u8 `7 M
return 0;
5 N2 g5 z7 C7 p}
7 u' _2 ]. U' o1 r: g& i( I3 o
; S$ b6 P0 N9 k- g; e9 C" I+ O' \7 X6 b2 Z2 p
客户端:- #include <stdio.h> + T0 s; {6 Z" p/ P
- #include <sys/types.h> , l' z V6 U4 x C! N% H% {! j
- #include <sys/socket.h>
Y' e5 s" K& m) u4 A, G) q - #include <netinet/in.h>
/ [. e7 e. A7 u" L# A% D - #include <arpa/inet.h>
0 _8 M1 v8 L( F8 [1 P - #include <string.h> , P1 U S0 ?# h
- #include <unistd.h>
8 F0 x+ G* n% S7 U; f - #include <fcntl.h>
9 B; @7 T$ D- n4 a ` - #include <sys/time.h>
( G* P+ H7 U$ O, t, Z5 h - #include <sys/select.h>
; L/ ]. v9 J k# R - #include <sys/ioctl.h> 0 i0 F. E; V. r x1 h- S
- int main() {
2 |, V. K7 L5 P" K' ]5 B - int sockSrv;% J) m% U+ Y) J" ?& W3 _; `. G N
- struct sockaddr_in addrSrv;7 f5 ], u7 V' _1 S1 a3 G! g5 k% r
- int len;5 |" ]& r7 z! w. ^( f# N3 r; [5 y
- char recvBuf[100];
' |1 @$ y' S; y4 c' `% m, u4 ~5 Z - scanf("%s",recvBuf);5 o @9 x: U. ~7 s
- struct sockaddr_in addrClient;
; G0 X& e7 M' e5 Q: h - sockSrv = socket(AF_INET,SOCK_DGRAM,0);2 q% v! b, i) h8 w! \. E. x
- addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
: e# v; A. C3 k - addrSrv.sin_family = AF_INET;3 M1 Y$ p1 c) |. ]: ~
- addrSrv.sin_port = htons(6000);
8 N- M: C) V. |- i: ~6 I3 M - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));9 ^" f/ p8 j7 g7 y
- len = sizeof(struct sockaddr);
$ W( R+ J# C, @ - memset(recvBuf, 0, 100); a# R" V1 I- n+ x {) S( w% o
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
. X3 g& R1 E; _& ` - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));7 F- V: g, l5 S* y1 [! n0 T
- printf("Client data is:%s\n",recvBuf);
/ j% m" w* v+ E, O4 {* U - close(sockSrv);6 S' t! ]3 z7 Q
- return 0;! U+ q* s8 b3 M2 D1 p+ {/ Q$ K% y
- }
复制代码
+ b- \ K9 m* N' S/ ]2 h: y( s% o& h! G
8 y5 E. m) Y: ]3 i8 c/ Z# E' T
* C4 w4 T E4 f( p% r- P8 U$ o, _ |
|