歡迎來到Linux教程網
設為首頁
加入收藏
Linux教程網
首頁
Linux基礎
Linux管理
Linux編程
Linux綜合
Unix知識
Linux教程網
>>
Linux編程
>>
Linux編程
>> Linux 網絡編程---->簡單的UDP實例
Linux 網絡編程---->簡單的UDP實例
日期:2017/3/1 10:26:01   编辑:Linux編程
這是一個簡單的UDP的實例而已~
//!> server
//!> server.c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <sys/types.h>
#include <netinet/in.h>
#define
SERV_PORT
6000
#define
MAXLINE
1024
int main( int argc, char ** argv )
{
char
recv[MAXLINE];
int
listenfd,connfd;
int
chilen, len,i;
int
nread;
structsockaddr_in servaddr, chiaddr;
//!> establish the socket
//!>
if( (listenfd = socket(
AF_INET, SOCK_DGRAM,0
) ) == -1 )
{
printf("Socket error.. %d\n", errno);
exit(EXIT_FAILURE );
}
//!>
//!> write info
bzero(&servaddr, sizeof( servaddr ) );
servaddr.sin_family = AF_INET;
servaddr.sin_addr.s_addr
=htonl( INADDR_ANY);
servaddr.sin_port = htons( SERV_PORT );
//!>
//!> bind
if( bind(listenfd, ( struct sockaddr * )&servaddr, sizeof(servaddr ) ) == -1 )
{
printf("Binderror... %d\n", errno);
exit(EXIT_FAILURE );
}
while( 1)
{
chilen =sizeof( chiaddr );
memset( recv, 0, sizeof( recv ) );
nread =recvfrom(connfd,recv, MAXLINE, 0, (struct sockaddr*)&chiaddr, &chilen);//read(connfd, recv, MAXLINE );
//!> 記住:一般都用它
if( nread ==-1 )
{