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

楼主 |
发表于 2020-5-9 02:30:12
|
只看该作者
服务端:5 u5 k. J4 y8 G
#include <sys/types.h> ; M" t' q" p9 S) Z: j
#include <sys/socket.h> 9 J: i, w4 h0 h; \2 O
#include <unistd.h>
% |% b/ B+ W$ d#include <netinet/in.h>
% V4 b! u5 P9 X# [$ l; X! h#include <arpa/inet.h> ! I6 e, Q5 b+ X4 b* D8 D9 \' S0 F7 |5 M
#include <string.h> 1 y( b3 |/ f; b$ }6 W3 `* T8 u8 M; {
#include <stdio.h>
+ }& b8 m) c0 iint main() {0 ?$ M6 i' d( }0 y3 o
int sockClient;3 o- V( a- L& r7 T# Z3 G
struct sockaddr_in addrSrv;; T, N2 b# p8 _( i8 r. _* @0 e
sockClient = socket(AF_INET,SOCK_DGRAM,0);
* W: L; g9 h2 R+ V+ a addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");/ x, s- ^2 t- y& h
addrSrv.sin_family=AF_INET;
0 l* M* j- C( r! h G addrSrv.sin_port=htons(6000);5 Z# H3 n( P6 o# m" |+ U* S
while(1)0 I6 k2 g( ?/ F) K+ Q r( {
{
2 p6 v/ e- v& W' o. W; o- Z sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));+ |2 H' L- Z4 [1 a* ^9 d
sleep(2);6 W( o. A# P* U s. S
}
5 D& ?4 o: T' V( H% c close(sockClient); A. Z9 I& A4 G/ i( |
return 0;
5 p; @6 [) S, ~2 j( G}
/ H! l% Y+ f7 y- l( c7 j9 N( j$ B, p0 q, O! O
/ {; l# R5 w% j: n* V9 K7 N' _
客户端:- #include <stdio.h> % U) R- a; X$ k, q
- #include <sys/types.h> 4 o: o' p4 f7 O1 J
- #include <sys/socket.h>
; R; D: ?6 M ]: ? - #include <netinet/in.h> , }- b- c# ]% [5 l
- #include <arpa/inet.h>
% C& U. t% S2 B$ P* @ T - #include <string.h> 2 ?- A# j; N3 s/ {8 N1 D1 _& X2 y
- #include <unistd.h>
' Y1 B0 u5 X7 g - #include <fcntl.h>
% \* M' ^; ^9 B* M* r$ ^ - #include <sys/time.h>
$ s4 {, i# e" L* v5 ]; n. U - #include <sys/select.h> $ ?' J' S' s2 e2 A5 n
- #include <sys/ioctl.h>
( s) e2 A) a2 d - int main() {# t) C# Q- z% b7 n8 G+ R: J& P
- int sockSrv;
/ r( V- F! o2 J. m& l2 W - struct sockaddr_in addrSrv;' b* ^6 R/ z" T3 P J
- int len;/ {) L# O' g! O
- char recvBuf[100];! A' d' ]# u) F" e: g
- scanf("%s",recvBuf);/ n( O w" Z2 |
- struct sockaddr_in addrClient;. J7 i. \. W7 C }# L
- sockSrv = socket(AF_INET,SOCK_DGRAM,0);
/ K: R% }4 p' n3 B - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);/ r6 m! V [; ?6 S
- addrSrv.sin_family = AF_INET;
9 A' `, W; c. b7 R& a: t0 e1 G - addrSrv.sin_port = htons(6000);% v. H8 B3 `$ X1 G
- bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));6 l) |6 M- v# k. z, u \
- len = sizeof(struct sockaddr);
: g |8 x( P: `- {" y. Z - memset(recvBuf, 0, 100);# X& B# Z* Q. Q1 p4 k
- recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);
. h- z9 @: z L( S( N; t K; ~ - printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));
0 v9 w9 }: Q: D9 \1 q/ g( f - printf("Client data is:%s\n",recvBuf);, }# i' ~% U+ T3 `4 p
- close(sockSrv);
) S' ]9 {# h+ _0 r* e* N0 e - return 0;% R* O% s$ q ?9 {- x5 Y. P. n
- }
复制代码 + E- R! Q2 C: l
, f( R! N0 s* ?2 d7 k2 U* h, B- W/ o& X
7 i2 i, o6 \6 I2 q/ C: H) |
|
|