📄 ser.c
字号:
#include <stdio.h>
#include <errno.h>
#include <unistd.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define PKG_LEN 100
main()
{
struct sockaddr_in addr_in;
int sockfd,newsocket;
int childid;
int m_pkg=0;
char strTime[10];
char date[9];
int val=1;
char r_buf[1024];
memset( &addr_in, 0, sizeof( struct sockaddr_in ) );
memset( r_buf, 0, sizeof( r_buf ) );
addr_in.sin_family = AF_INET;
addr_in.sin_addr.s_addr = INADDR_ANY;
addr_in.sin_port = htons( 1024 );
sockfd=socket( AF_INET, SOCK_STREAM, 0 );
if ( sockfd<0 ) {
printf("socket failed!");
return -1;
}
if( bind( sockfd,(struct sockaddr *)&addr_in,sizeof(addr_in)) )
{
close(sockfd);
printf("bind failed!");
return -1;
}
if ( listen(sockfd,20) ) {
close(sockfd);
printf("listen failed !");
return -1;
}
while(1)
{
if( ( newsocket=accept(sockfd,0,0) ) < 0 )
{
if( errno == EINTR )
continue;
else
{
printf("accept failed!");
close(sockfd);
return -1 ;
}
}
if( ( childid = fork() ) == 0 )
{
if(( m_pkg= read( newsocket, r_buf, PKG_LEN )) <0 )
{
printf("read pkg failed!\n");
close(newsocket);
return -1 ;
}
printf(" msg=%s\n", r_buf );
}
close(newsocket);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -