8.19作业

1.

#include <stdio.h>
#include <sys/types.h>        
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>

//1 创建有名管道文件
//2 获取管道文件标示
//3 ......
//4 接收数据

//1 创建线程tid,自己定义pthread_t tid
//2 创建线程,pthread_create(线程id,线程属性,线程例程,例程参数),注意是create
//3 在线程例程中退出线程pthread_exit(退出值),退出值是万能指针
//注意编译时加上 -lpthread

void *pthread(void *arg) //线程例程,必须是一个指针函数,并且参数为万能指针
{
      int ret = bind(sock_fd, (struct sockaddr *)&serve, sizeof(serve));
    if ( ret == -1)//判断绑定函数是否成功
    {
         perror("bind failed");
    }

    
    //3.发起连接(connect)
    
    connect(sock_fd,(struct sockaddr *)&serve,sizeof(serve));

     char *buf = malloc(100);

    while(1)
    {
        memset(buf,0,sizeof(buf));      
        fgets(buf,sizeof(buf),stdin);//标准输入
        //4.发送消息(send)
        send(sock_fd,buf,100,0);
        if(strcmp(buf,"gun\n")==0)
        {
            break;
        }
    }
       close(sock_fd);
       close(acc_fd);
    

  int main()
{
    pthread_t tid;
    
    pthread_create(&tid,NULL,pthread,NULL);
//***************************************************************************
    
    int ret = bind(sock_fd, (struct sockaddr *)&serve, sizeof(serve));
    if ( ret == -1)//判断绑定函数是否成功
    {
         perror("bind failed");
    }

    
    //监听
    
    int listen_ret = listen(sock_fd, 4);//可以设置监听的套接字的最大个数
    
    printf("等待连接....\n");
    int    acc_fd = accept(sock_fd, NULL, NULL);//阻塞等待
    printf("连接成功!!!\n");

    char *buf = malloc(100);

    while(1)
    {
        memset(buf,0,sizeof(buf));
        printf("客户端:%s\n",buf);
        recv(fd,buf,sizeof(buf));
        if ( strcmp(buf,"gun\n")==0 )//判断时记得加上'\n'
        {
            printf("ok,gun\n");
            close(sock_fd);
            break;
          }
    }
    close(sock_fd);
    close(acc_fd);
}

2.

#include <stdio.h>
#include <sys/types.h>        
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>

//1 创建有名管道文件
//2 获取管道文件标示
//3 ......
//4 接收数据

//1 创建线程tid,自己定义pthread_t tid
//2 创建线程,pthread_create(线程id,线程属性,线程例程,例程参数),注意是create
//3 在线程例程中退出线程pthread_exit(退出值),退出值是万能指针
//注意编译时加上 -lpthread

void *pthread(void *arg) //线程例程,必须是一个指针函数,并且参数为万能指针
{
      int ret = bind(sock_fd, (struct sockaddr *)&serve, sizeof(serve));
    if ( ret == -1)//判断绑定函数是否成功
    {
         perror("bind failed");
    }

    
    //3.发起连接(connect)
    
    connect(sock_fd,(struct sockaddr *)&serve,sizeof(serve));

     char *buf = malloc(100);

    while(1)
    {
        memset(buf,0,sizeof(buf));      
        fgets(buf,sizeof(buf),stdin);//标准输入
        //4.发送消息(send)
        send(sock_fd,buf,100,0);
        if(strcmp(buf,"gun\n")==0)
        {
            break;
        }
    }
        
        close(sock_fd);
    

  int main()
{
    pthread_t tid;
    
    pthread_create(&tid,NULL,pthread,NULL);
//***************************************************************************
    
    int ret = bind(sock_fd, (struct sockaddr *)&serve, sizeof(serve));
    if ( ret == -1)//判断绑定函数是否成功
    {
         perror("bind failed");
    }

    
    //3.发起连接(connect)
    
    connect(sock_fd,(struct sockaddr *)&serve,sizeof(serve));

    char *buf = malloc(100);

    while(1)
    {
        memset(buf,0,sizeof(buf));
        send(fd,buf,sizeof(buf));
        if ( strcmp(buf,"gun\n")==0 )//判断时记得加上'\n'
        {
            
            break;
          }
    }
    close(sock_fd);
    


 

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在CentOS 7上安装MySQL 8.19,您可以按照以下步骤操作: 1. 首先,您需要下载MySQL 8.19的压缩包,并将其解压缩到/usr/local/目录下。您可以使用以下命令将解压得到的文件移动到/usr/local/目录,并重新命名为mysql: ``` mv mysql-8.0.19-linux-glibc2.12-x86_64 /usr/local/mysql ``` 引用 2. 接下来,您需要修改/usr/local/mysql/目录的权限,以确保MySQL能够正常运行。您可以使用以下命令更改目录的所有者和组为mysql: ``` chown -R mysql.mysql /usr/local/mysql/ ``` 引用 3. 之后,您可以将MySQL的启动脚本复制到/etc/init.d/目录中,以便MySQL可以作为服务启动和停止。您可以使用以下命令执行此操作: ``` cp ../support-files/mysql.server /etc/init.d/mysqld ``` 引用 完成上述步骤后,您就成功安装了MySQL 8.19。您可以使用适当的命令启动、停止和管理MySQL服务。请记住,这只是安装MySQL的基本步骤,您可能需要根据您的具体需求进行其他配置和设置。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [centos7安装MySQL Community Server 8.0.19](https://blog.csdn.net/resuper0/article/details/104442933)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值