管理员
论坛积分
分
威望 点
贡献值 个
金币 枚
|
服务端:; [% {7 u# h* T2 Y
#include <sys/types.h> / e$ I2 @7 S u
#include <sys/socket.h> : p( j. W5 p7 m# x8 W! I
#include <unistd.h>
" N+ [5 `1 N9 C+ j- Q5 m! \$ B#include <netinet/in.h>
* @/ u- k% D) z' Z#include <arpa/inet.h>
6 `7 n: i5 {& v" }#include <string.h>
$ ]& T; E7 `4 R. y& v6 K) s#include <stdio.h> . |5 O7 R) O2 l# { ^2 W
int main() {/ v u1 U/ o0 s; S5 \
int sockClient;# G8 ~, _% D5 g* @* i
struct sockaddr_in addrSrv;$ L- x) t, ]! J) d3 k1 Z" t
sockClient = socket(AF_INET,SOCK_DGRAM,0);
/ \ C% V! F% j& B- t6 m9 H( ] addrSrv.sin_addr.s_addr=inet_addr("127.0.0.1");' |; a% b4 n2 u
addrSrv.sin_family=AF_INET;
: ]! N1 i7 f3 l addrSrv.sin_port=htons(6000);! U( [5 d+ N; X) \5 E! S% ?
while(1)
3 `/ q! A; ~' U# x3 q( S7 v$ \4 ?, S {- ]" S- J# R8 q
sendto(sockClient,"Hello World",strlen("Hello World")+1,0,(struct sockaddr*)&addrSrv,sizeof(struct sockaddr));
: A8 W" J; ?( n$ T sleep(2);
. Z5 o3 y D B } + @4 X3 t) j8 \; L5 X: p3 c! S
close(sockClient);
! n; q7 v" y/ T5 b' N return 0;
( f1 N" ~" v4 g( K: R9 O0 J7 B8 k3 V}# G2 Y% W2 }' U, V* @
4 ?/ }7 B/ V! M; e% h: Y- F/ Q
& D1 ?5 N: w5 j; Z
客户端:- #include <stdio.h>
# a( |; F* V. [* K - #include <sys/types.h> $ ~& K& o1 {9 @
- #include <sys/socket.h> . K& T) Q& E) `9 r- {
- #include <netinet/in.h>
0 I b3 o4 b9 w7 j; ]5 N' m" S - #include <arpa/inet.h>
. _: e% w! k3 u) p5 {" U9 r% k - #include <string.h> , f6 `* c, u( U4 C5 I9 \+ ~, @& a
- #include <unistd.h> ; v- m- H. a8 A8 v% D
- #include <fcntl.h>
$ E! \0 r" P9 j5 @+ d - #include <sys/time.h> ( j# M' N; i1 R2 R4 T+ J) R+ ]5 i
- #include <sys/select.h>
: Y7 {7 |8 \1 X& l; a7 v - #include <sys/ioctl.h>
, v: Z# i' V( |, x n. M | - int main() {
" K! ^8 B+ b3 V9 b3 G* E. e - int sockSrv;; S- u' g/ h; [3 ]+ y
- struct sockaddr_in addrSrv;1 v; P+ @' z2 q) W: a9 E
- int len;
8 K: k& K# x% p- \9 o% N - char recvBuf[100];1 M* l% O* t! m2 o! G6 e/ S
- scanf("%s",recvBuf);
; q- X6 A2 I% Y, w, f/ r7 g" ~2 P - struct sockaddr_in addrClient;
* c/ R8 h D1 g- F# _& l - sockSrv = socket(AF_INET,SOCK_DGRAM,0);
; d" m3 F8 @9 R ~* U4 k& f6 y0 ]7 G - addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);& a% m9 r0 D; d7 I) j
- addrSrv.sin_family = AF_INET;
6 S+ i% C$ S, P% N8 R# t. ` - addrSrv.sin_port = htons(6000);
+ E2 _9 a3 H: _5 {% R - bind(sockSrv, (struct sockaddr *)&addrSrv, sizeof(struct sockaddr));' r5 n+ f: V8 M$ e6 ` c+ H
- len = sizeof(struct sockaddr);
% ?( t* C5 X; t) o/ O! t3 U - memset(recvBuf, 0, 100);
[8 o0 L3 e N3 _0 f - recvfrom(sockSrv, recvBuf, 100, 0, (struct sockaddr *)&addrClient,&len);" @9 Z/ P5 i9 @
- printf("客户端的IP地址:%s\r\n",inet_ntoa(addrClient.sin_addr));+ W4 W' k+ H9 V4 r9 e1 U: Q) U2 ]( K
- printf("Client data is:%s\n",recvBuf);! _5 m, \+ H: ?( @7 u2 \2 D
- close(sockSrv);
5 ?( w0 y) O( V' z% e) d - return 0;
0 |7 v) ]$ k/ \" k4 F - }
复制代码 6 v9 P# i7 H8 U/ |5 a
/ H' d4 @% O8 [4 X0 y' ` g9 S
9 G9 ^, I% y+ y1 ?8 a- _
) U8 T u& K: @- J5 c) o |
|