注意:可以開啟一個server和多個client,同時可以對server進行發送data處理,請注意client的參數,格式是:./client
IP char_data
IP:就是server所在的IP,char_data就是發送的數據
server.c
#include<sys/types.h>
#include<sys/socket.h>
#include<strings.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<errno.h>
#include<signal.h>
#include<sys/wait.h>
#define
LISTEN_PORT 6000 //!> 端口
#define MAX 5 //!> 最大的等待請求數目
void str_echo( int sockfd) //!> 從client中讀取數據
{
ssize_t n;
charline[512];
printf("准備讀數據:");
while( 1)
{
while( ( n =read( sockfd, line, 512 ) ) > 0) //!> 注意是:根據accept得到的client的操作描述符來處理的呗~
{
line[n] ='\0';
printf("Client send: %s\n", line );
bzero(&line, sizeof( line )); //!> 再次置NULL
}
}
}
int main( int argc, char ** argv )
{
int listenfd,connfd; //!> 描述符
pid_t childpid; //!> 子進程號
socklen_t chilen; //!>
structsockaddr_in chiaddr, servaddr;
//!> 建立socket( TCP )
//!>
if( (listenfd = socket( AF_INET, SOCK_STREAM, 0 ) ) == -1 )
{
printf("socket error... : %s\n",(char*)strerror(errno));