Linux编程socket通信疑问

Socket通信疑问

今天,在进行socket通信时,发现一个问题,尝试许久后,问能找到答案。

程序功能:

  使用socket通信编写服务器与客户端之间的循环应答,直到客户端发送"bye",服务器发送命令关闭客户端,并且服务器关闭。
具体问题描述:

服务器程序:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <sys/un.h>

int main(void){

    int socketfd = socket(AF_LOCAL,SOCK_DGRAM,0);
    if ( socketfd == -1 ){
        perror("socket");
        exit(-1);
    }
    struct sockaddr_un add;
    add.sun_family = AF_UNIX ;
    strcpy(add.sun_path,"./sigcom");

    //unlink("./sigcom");

    int res = bind(socketfd,(struct sockaddr *)&add,sizeof(add));
    if( res == -1){
        perror("bind");
        exit(-1);
    }

    // res = connect(socketfd,(struct sockaddr *)&add,sizeof(add));
    // if( res == -1){
    //     perror("bind");
    //     exit(-1);
    // }

    char buf[20];

    while(1){
        read(socketfd,buf,sizeof(buf));
        printf("%s\n",buf);

        if (!strcmp(buf,"bye")){
            write(socketfd,"goodbye",sizeof("goodbye"));
            printf("GoodBye!\n");
            break;
        }else{
            int d = write(socketfd,"Recived!",sizeof("Recived!"));
            if (d == -1){
                perror("write");
            }
            printf("Send!\n");
        }
    }

    close(socketfd);
    return 0;
}

客户端程序:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <string.h>
#include <sys/un.h>

int main(void){

    int socketfd = socket(AF_LOCAL,SOCK_DGRAM,0);
    if ( socketfd == -1 ){
        perror("socket");
        exit(-1);
    }
    struct sockaddr_un add;
    add.sun_family = AF_UNIX ;
    strcpy(add.sun_path,"./sigcom");

    int res = connect(socketfd,(struct sockaddr *)&add,sizeof(add));
    if( res == -1){
        perror("connect");
        exit(-1);
    }

    char buf[20];

    while(1){
        scanf("%s",buf);
        write(socketfd,buf,sizeof(buf));

        read(socketfd,buf,sizeof(buf));
        printf("%s\n",buf);
        if (!strcmp(buf,"goodbye")){
            printf("%s\n",buf);
            break;
        }else{
            printf("%s\n",buf);
        }
    }

    printf("退出通信!\n");

    close(socketfd);
    return 0;
}

  其中,在服务器这段程序中:

    while(1){
        read(socketfd,buf,sizeof(buf));
        printf("%s\n",buf);

        if (!strcmp(buf,"bye")){
            write(socketfd,"goodbye",sizeof("goodbye"));
            printf("GoodBye!\n");
            break;
        }else{
            int d = write(socketfd,"Recived!",sizeof("Recived!"));
            if (d == -1){
                perror("write");
            }
            printf("Send!\n");
        }
    }

"write"函数出错:Transport endpoint is not connected。

在各种尝试后未能找到解决办法。

1个回答

什么是Socket   Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。    Socket接口设计者......
答案就在这里:linux socket 通信编程
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Linux编程socket通信问题。
# Socket通信疑问 请原谅我是个小白,可能问题比较幼稚。 今天,在进行socket通信时,发现一个问题,尝试许久后,问能找到答案。 ## 程序功能:   使用socket通信编写服务器与客户端之间的循环应答,直到客户端发送"bye",服务器发送命令关闭客户端,并且服务器关闭。 具体问题描述: ### 服务器程序: ``` #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <string.h> #include <sys/un.h> int main(void){ int socketfd = socket(AF_LOCAL,SOCK_DGRAM,0); if ( socketfd == -1 ){ perror("socket"); exit(-1); } struct sockaddr_un add; add.sun_family = AF_UNIX ; strcpy(add.sun_path,"./sigcom"); //unlink("./sigcom"); int res = bind(socketfd,(struct sockaddr *)&add,sizeof(add)); if( res == -1){ perror("bind"); exit(-1); } // res = connect(socketfd,(struct sockaddr *)&add,sizeof(add)); // if( res == -1){ // perror("bind"); // exit(-1); // } char buf[20]; while(1){ read(socketfd,buf,sizeof(buf)); printf("%s\n",buf); if (!strcmp(buf,"bye")){ write(socketfd,"goodbye",sizeof("goodbye")); printf("GoodBye!\n"); break; }else{ int d = write(socketfd,"Recived!",sizeof("Recived!")); if (d == -1){ perror("write"); } printf("Send!\n"); } } close(socketfd); return 0; } ``` ### 客户端程序: ``` #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/socket.h> #include <string.h> #include <sys/un.h> int main(void){ int socketfd = socket(AF_LOCAL,SOCK_DGRAM,0); if ( socketfd == -1 ){ perror("socket"); exit(-1); } struct sockaddr_un add; add.sun_family = AF_UNIX ; strcpy(add.sun_path,"./sigcom"); int res = connect(socketfd,(struct sockaddr *)&add,sizeof(add)); if( res == -1){ perror("connect"); exit(-1); } char buf[20]; while(1){ scanf("%s",buf); write(socketfd,buf,sizeof(buf)); read(socketfd,buf,sizeof(buf)); printf("%s\n",buf); if (!strcmp(buf,"goodbye")){ printf("%s\n",buf); break; }else{ printf("%s\n",buf); } } printf("退出通信!\n"); close(socketfd); return 0; } ```   其中,在服务器这段程序中: ``` while(1){ read(socketfd,buf,sizeof(buf)); printf("%s\n",buf); if (!strcmp(buf,"bye")){ write(socketfd,"goodbye",sizeof("goodbye")); printf("GoodBye!\n"); break; }else{ int d = write(socketfd,"Recived!",sizeof("Recived!")); if (d == -1){ perror("write"); } printf("Send!\n"); } } ``` "write"函数出错:Transport endpoint is not connected。 在各种尝试后未能找到解决办法。
Linux下TCP SOCKET编程问题
服务端的代码: socklen_t clilen; struct sockaddr_in servaddr,cliaddr; 要是换一下顺序变成: struct sockaddr_in servaddr,cliaddr; socklen_t clilen; 更换顺序后,运行的时候并不能与客户端进行正常通信,求解求解~
关于socket编程在java与c下的传输问题
最近在做一个项目,使用c写的客户端,用java写的服务器,客户端传输结构体,采用函数memcpy转换为字符串传输,那么在服务器端应该如何接受并解析??目前为止本人一直接受到的都是乱码
socket网络编程,多进程编程。
最近再做一个项目,网络编程的。windows端作为client,linux端做server,进行文件传输。目前的紧张是任意格式的任意大小的文件可以从sever传输到client,但是想实现多进程的通信。希望大家能给出一些建议,刚接触这些。如何实现多进程的文件传输,并且在windows端建立两个进程可以从sever端将文件从任意地址传送过来呢?
Linux can通信编程,数据接收时,接收的扩展帧ID不正确,超出了范围
首先附上can的接收程序: /* 2. 报文过滤接收程序 */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <net/if.h> #include <sys/ioctl.h> #include <sys/socket.h> #include <linux/can.h> #include <linux/can/raw.h> int main() { int s, nbytes; struct sockaddr_can addr; struct ifreq ifr; struct can_frame frame; struct can_filter rfilter[1]; s = socket(PF_CAN, SOCK_RAW, CAN_RAW); //创建套接字 strcpy(ifr.ifr_name, "can0" ); ioctl(s, SIOCGIFINDEX, &ifr); //指定 can0 设备 addr.can_family = AF_CAN; addr.can_ifindex = ifr.ifr_ifindex; bind(s, (struct sockaddr *)&addr, sizeof(addr)); //将套接字与 can0 绑定 //定义接收规则,只接收表示符等于 0x11 的报文 rfilter[0].can_id = CAN_EFF_FLAG | 0x0cf11f05 ; rfilter[0].can_mask = CAN_SFF_MASK; //设置过滤规则 setsockopt(s, SOL_CAN_RAW, CAN_RAW_FILTER, &rfilter, sizeof(rfilter)); while(1) { nbytes = read(s, &frame, sizeof(frame)); //接收报文 //显示报文 if(nbytes > 0) { printf(“ID=0x%X DLC=%d data[0]=0x%X\n”, frame.can_id, frame.can_dlc, frame.data[0]); } } close(s); return 0; } 在这个程序中接收的扩展帧ID是0x0cf11f05,我把这个交叉编译放在IMX6Q开发板(跑的Linux系统)上运行,通过周立功的cantest软件发送can报文,板子上接收的ID显示为8x0cf11f05,显示不正确,有谁知道原因吗?下图是结果截图: ![图片说明](https://img-ask.csdn.net/upload/201607/15/1468550565_690803.png) ![图片说明](https://img-ask.csdn.net/upload/201607/15/1468550580_227707.png)
socket编程 多进程 传输文件
windows和linux 互相通信,目前的状况时开启两个进程传输两个文件是没有问题。。。可项目要求是两个进程两边同时开启两个进程同时传输同一个文件,希望大家给点意见。最终的结果还是要求对文件进行合并。。。 ps:我已经弄了半个月了毫无头绪。求大神帮忙啊!!!
C++ Linux网络编程,超简单的例子,就是不知道什么原因,客户端收不到消息
综述:就是客户端和服务端的一次通信,但是总也运行不到预期的结果,运行结果见最后 服务端:做一件事:接受客户端的TCP链接后,向客户端发送一个字符串,但是总在发送的地方返回值为0.求解。。。。 ``` #include<iostream> #include<netinet/in.h> #include<sys/types.h> #include<sys/socket.h> #include<unistd.h> #include<string.h> #include<time.h> using namespace std; int main(int argc,char* argv[]) { int listenfd,confd; sockaddr_in recaddr; char receiveline[100]="I have received the msg\r\n"; listenfd = socket(PF_INET,SOCK_STREAM,0); if(listenfd<0) { cout<<"error socket"<<endl; return 0 ; } bzero(&recaddr,sizeof(recaddr)); recaddr.sin_family = PF_INET; recaddr.sin_addr.s_addr = INADDR_ANY; recaddr.sin_port = htons(7999); if(bind(listenfd,(sockaddr*)&recaddr,sizeof(recaddr))<0) { cout<<"bind error"<<endl; return 0; } if(listen(listenfd,20)<0) { cout<<"listen error"<<endl; return 0; } for(;;) { if(confd = accept(listenfd,(sockaddr*)NULL,NULL)<=0) { cout<<"connect error"<<endl; return 0; } cout<<receiveline<<endl; if(send(confd,receiveline,strlen(receiveline),0)<0) { **//每次都会走到这里面来,不知道为什么这个地方发送的数据为0** cout<<"send empty msg"<<endl; return 0; } if(close(confd)<0) { cout<<"faile to close socket"<<endl; return 0; } } cout<<"end of program"<<endl; return 0; } ``` 客户端: ``` #include<iostream> #include<netinet/in.h> #include<string.h> #include<sys/types.h> #include<sys/socket.h> #include<arpa/inet.h> #include<unistd.h> using namespace std; int main(int argc,char* argv[]) { if(argc!=2) { cout<<"wrong input"<<endl; return 0; } int sendfd,n; sockaddr_in addr; bzero(&addr,sizeof(addr)); sendfd = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP); if(sendfd<0) { cout<<"error in socket"<<endl; return 0; } addr.sin_family = PF_INET; addr.sin_port = htons(7999); addr.sin_addr.s_addr= inet_addr("127.0.0.1"); cout<<"ready to connect"<<sendfd<<endl; if(connect(sendfd,(sockaddr*)&addr,sizeof(addr)) < 0) { cout<<"connecting fail"<<endl; return 0; } cout<<"ready to read:"<<sendfd<<endl; char receiveline[100] = {0}; while( (n = recv(sendfd,receiveline,100,0)) > 0 ) { cout<<"n:"<<n<<endl; receiveline[n] = 0; if(fputs(receiveline,stdout)==EOF) { cout<<"error"<<endl; return 0; } } if(n<0) {cout<<"error"<<endl;} cout<<"end of program"<<endl; return 0; } ``` 目前程序的输出为: 服务端: [joker@localhost serv]$ ./SocketServ I have received the msg send empty msg 客户端: [joker@localhost cli]$ ./SocketCli 127.0.0.1 ready to connect3 ready to read:3 end of program 这问题搞了我两天了,求大侠们解。。。
Linux下网络编程read,write问题(C语言),求大神指点阿!!!
zuijzuj。最近学习socket编程的时候调试代码出现了一些问题,求大神们指导阿!!!我要实现的功能是客户端输入两个操作数和一个运算符,在服务端进行运算再把结果返回到客户端。现在的bug是客户端输入第一个操作数的时候没问题,输入运算符的时候客户端可以通过write函数写入但是服务端读出的结果不是输入的运算符,客户端输入第二个操作数的时候write函数无法写入,这是缓冲区满了吗?缓冲区大小不是由内核自己决定的吗?还是write和read函数调用不当?请大神们指正!这个问题困扰了我好多天了! 以下是客户端和服务端的代码,末尾是运行结果的截图。 客户端: #include <stdlib.h> #include <sys/types.h> #include <stdio.h> #include <sys/socket.h> #include <linux/in.h> #include <string.h> #include <errno.h> int main() { int cfd; /* 文件描述符 */ int recbytes; int sin_size; char result[1024]={0}; /* 接受缓冲区 */ struct sockaddr_in s_add,c_add; /* 存储服务端和本端的ip、端口等信息结构体 */ unsigned short portnum=2015; /* 服务端使用的通信端口,可以更改,需和服务端相同 */ int opnum1,opnum2; char op[2]; char opnum1s[3],opnum2s[3],temp[3]; char mutex[3] = "111"; printf("Hello,welcome to client !\r\n"); /* 建立socket 使用因特网,TCP流传输 */ cfd = socket(AF_INET, SOCK_STREAM, 0); if(-1 == cfd) { printf("socket fail ! \r\n"); return -1; } printf("socket ok !\r\n"); /* 构造服务器端的ip和端口信息,具体结构体可以查资料 */ bzero(&s_add,sizeof(struct sockaddr_in)); s_add.sin_family=AF_INET; s_add.sin_addr.s_addr= inet_addr("192.168.1.104"); /* ip转换为4字节整形,使用时需要根据服务端ip进行更改 */ s_add.sin_port=htons(portnum); printf("s_addr = %#x ,port : %#x\r\n",s_add.sin_addr.s_addr,s_add.sin_port); /* 这里打印出的是小端 和我们平时看到的是相反的。 */ /* 客户端连接服务器,参数依次为socket文件描述符,地址信息,地址结构大小 */ if(-1 == connect(cfd,(struct sockaddr *)(&s_add), sizeof(struct sockaddr))) { printf("connect fail !\r\n"); return -1; } printf("connect ok !\r\n"); /*连接成功*/ //write op and opnumbers to server //write opnumber1 printf("Please enter the first number:"); scanf("%d", &opnum1); itoa(opnum1, opnum1s, 10);//itoa if (-1 == write (cfd, opnum1s,strlen(opnum1s))) { printf("write first number fail!\n"); return 0; } //write op printf("Please enter the op('+','-','*','/'): "); scanf("%s", &op); if (-1 == write (cfd, op ,strlen(op))) { printf("write op fail!\n"); return 0; } //write opnumber2 printf("Please enter the second number:"); scanf("%d", &opnum2); itoa(opnum2, opnum2s, 10); if (-1 == write (cfd, opnum2, strlen(opnum2s))) { printf("write second number fail!\n"); return 0; } else { printf("All has been writed!\n"); } //从服务端接收字符*/ if(-1 == (recbytes = read(cfd,result,5))) { printf("read data fail !\r\n"); return -1; } else printf("read ok\r\nREC:\r\n"); result[recbytes]='\0'; printf("The result is %s\r\n",result); getchar(); /* 此句为使程序暂停在此处,可以使用netstat查看当前的连接 */ close(cfd); /* 关闭连接,本次通信完成 */ return 0; } void itoa(int i,char*string) { int power,j; j=i; for(power=1;j>=10;j/=10) power*=10; for(;power>0;power/=10) { *string++='0'+i/power; i%=power; } *string='\0'; } ``` 服务端: #include <stdlib.h> #include <sys/types.h> #include <stdio.h> #include <sys/socket.h> #include <linux/in.h> #include <string.h> int main() { int sfp,nfp; /* 定义两个描述符 */ struct sockaddr_in s_add,c_add; int sin_size; unsigned short portnum=2015; /* 服务端使用端口 */ int res, opnum1, opnum2, opnumi; int i = 1; int opnum[3]; char op[2],ress; char opnums[3],opnumis[3],opnum1s[3],opnum2s[3],temp[3]; printf("Hello,welcome to my server !\r\n"); sfp = socket(AF_INET, SOCK_STREAM, 0); if(-1 == sfp) { printf("socket fail ! \r\n"); return -1; } printf("socket ok !\r\n"); /* 填充服务器端口地址信息,以便下面使用此地址和端口监听 */ bzero(&s_add,sizeof(struct sockaddr_in)); s_add.sin_family=AF_INET; s_add.sin_addr.s_addr=htonl(INADDR_ANY); /* 这里地址使用全0,即所有 */ s_add.sin_port=htons(portnum); /* 使用bind进行绑定端口 */ if(-1 == bind(sfp,(struct sockaddr *)(&s_add), sizeof(struct sockaddr))) { printf("bind fail !\r\n"); return -1; } printf("bind ok !\r\n"); /* 开始监听相应的端口 */ if(-1 == listen(sfp,5)) { printf("listen fail !\r\n"); return -1; } printf("listen ok!\r\n"); while(1) { sin_size = sizeof(struct sockaddr_in); /* accept服务端使用函数,调用时即进入阻塞状态,等待用户进行连接,在没有客户端进行连接时,程序停止在此处, 不会看到后面的打印,当有客户端进行连接时,程序马上执行一次,然后再次循环到此处继续等待。 此处accept的第二个参数用于获取客户端的端口和地址信息。 */ nfp = accept(sfp, (struct sockaddr *)(&c_add), &sin_size); if(-1 == nfp) { printf("accept fail !\r\n"); return -1; } printf("accept ok!\r\nServer start get connect from %#x : %#x\r\n",ntohl(c_add.sin_addr.s_addr),ntohs(c_add.sin_port)); //read from client while (i <= 4) { if (4 == i) { switch (op[1]) { case '+': res = opnum[1] + opnum[3];break; case '-': res = opnum[1] - opnum[3];break; case '*':res = opnum[1] * opnum[3];break; case '/': res = opnum[1] / opnum[3];break; default : printf("op error!\n"); } itoa(res, ress, 10); if(-1 == write(nfp,ress,strlen(ress))) { printf("write fail!\r\n"); return -1; } printf("write ok!\r\n"); } else { switch(i) { case 2: if ( -1 == read(nfp, op, 1)) { printf("read op fail!\n"); } printf("read op is:%d\n", op);break; case 1: case 3: if ( -1 == read(nfp, temp, 3)) { printf("read %d number fail!\n", i); } printf("read opnum%d is:%s\n", i ,temp); opnum[i] = atoi(temp);break; default : printf("error!\n"); } } i ++; } close(nfp); } close(sfp); return 0; } void itoa(int i,char*string) { int power,j; j=i; for(power=1;j>=10;j/=10) power*=10; for(;power>0;power/=10) { *string++='0'+i/power; i%=power; } *string='\0'; } ``` 客户端运行的情况: Hello,welcome to client ! socket ok ! s_addr = 0x6801a8c0 ,port : 0xdf07 connect ok ! Please enter the first number:123 Please enter the op('+','-','*','/'): + Please enter the second number:444 write second number fail! ![图片说明](https://img-ask.csdn.net/upload/201506/16/1434438899_561887.png) 服务端运行的情况: Hello,welcome to my server ! socket ok ! bind ok ! listen ok! accept ok! Server start get connect from 0xc0a80168 : 0xc42d read opnum1 is:123 read op is:-1074087721 read opnum3 is:123 op error! 段错误 (核心已转储) ![图片说明](https://img-ask.csdn.net/upload/201506/16/1434438921_326746.png)
如果解决打开多个进程失败的问题?
在Linux系统下使用QT进行项目编程出现以下问题: 主程序启动之后需要启动若干个进程,多个进程之间使用socket进行通信。 当打开的进程数量达到一定数值之后,再打开新的进程时可以得到相应的进程编号,但却查询不到相应的进程,请问各位大神指教!
macos下,java串口通信编程的问题: jdk里找不到$(ARCH)
rt所示, 我是Macos系统,想写个串口通信的软件,知道有java的comm,但是macos下只能使用和comm差不多的RXTX,用import gnu.io.* 从网上下载了RXTXcomm.jar、librxtxSerial.jnilib、librxtxParallel.so、librxtxSerial.so四个文件, 但是在我想要把这些文件放到jdk目录下对应的位置的时候: 按之前前辈们的做法是(他们是在linux下成功的): “如果要脱离eclipse单独执行串口通信程序,将librxtxSerial.so复制到$JAVA_HOME/jre/lib/amd64/目录下(如果是32位系统应该是i386或者i686,而不是amd64)就OK了。” 这里的amd64指代$(ARCH),差不多是体系结构的东西,但是我在我的jdk下没有找类似的目录…… 我用ls -l命令就发现了以下的文件:(根本连目录都没几个) 于是这一步就告吹了,求助有没有大神知道该怎么办…我看其他的两个帖子也都是需要到$(ARCH)里面的。而官网上是Make的方法,也是和这个相关的似乎…总之就是绕不过这个了 drwxrwxr-x 2 root wheel 68 7 12 19:55 applet -rw-rw-r-- 1 root wheel 1378 7 12 19:55 calendars.properties -rw-rw-r-- 1 root wheel 3135391 7 12 19:55 charsets.jar -rw-rw-r-- 1 root wheel 72450 7 12 19:55 classlist drwxrwxr-x 7 root wheel 238 7 12 19:55 cmm -rw-rw-r-- 1 root wheel 5916 7 12 19:55 content-types.properties -rw-rw-r-- 1 root wheel 4122 7 12 19:55 currency.data -rw-rw-r-- 1 root wheel 2233848 7 12 19:55 deploy.jar drwxrwxr-x 14 root wheel 476 7 24 18:09 ext -rw-rw-r-- 1 root wheel 4211 7 12 19:55 flavormap.properties -rw-rw-r-- 1 root wheel 3058 7 12 19:55 fontconfig.bfc -rw-rw-r-- 1 root wheel 8087 7 12 19:55 fontconfig.properties.src drwxrwxr-x 11 root wheel 374 7 12 19:55 fonts -rw-rw-r-- 1 root wheel 13962 7 12 19:55 hijrah-config-umalqura.properties drwxrwxr-x 3 root wheel 102 7 12 19:55 images -rwxrwxr-x 1 root wheel 56 6 27 04:04 javafx.properties -rw-rw-r-- 1 root wheel 476504 7 12 19:55 javaws.jar -rw-rw-r-- 1 root wheel 116446 7 12 19:55 jce.jar drwxrwxr-x 4 root wheel 136 7 12 19:55 jfr -rw-rw-r-- 1 root wheel 560581 7 12 19:55 jfr.jar -rwxrwxr-x 1 root wheel 33930 6 27 04:04 jfxswt.jar drwxrwxr-x 3 root wheel 102 7 12 19:55 jli -rwxrwxr-x 1 root wheel 15136 7 12 19:55 jspawnhelper -rw-rw-r-- 1 root wheel 648816 7 12 19:55 jsse.jar -rw-rw-r-- 1 root wheel 624 7 12 19:55 jvm.cfg -rw-rw-r-- 1 root wheel 4226 7 12 19:55 jvm.hprof.txt -rwxrwxr-x 1 root wheel 45120 7 12 19:55 libAppleScriptEngine.dylib -rwxrwxr-x 1 root wheel 16076 7 12 19:55 libattach.dylib -rwxrwxr-x 1 root wheel 552948 7 12 19:55 libawt.dylib -rwxrwxr-x 1 root wheel 731112 7 12 19:55 libawt_lwawt.dylib -rwxrwxr-x 1 root wheel 9164 7 12 19:55 libbci.dylib -rwxrwxr-x 1 root wheel 186456 7 12 19:55 libdcpr.dylib -rwxrwxr-x 1 root wheel 62900 6 27 04:04 libdecora_sse.dylib -rwxrwxr-x 1 root wheel 167304 7 12 19:55 libdeploy.dylib -rwxrwxr-x 1 root wheel 25616 7 12 19:55 libdt_socket.dylib -rwxrwxr-x 1 root wheel 419440 7 12 19:55 libfontmanager.dylib -rwxrwxr-x 1 root wheel 174156 6 27 04:04 libfxplugins.dylib -rwxrwxr-x 1 root wheel 380660 6 27 04:04 libglass.dylib -rwxrwxr-x 1 root wheel 1180688 6 27 04:04 libglib-lite.dylib -rwxrwxr-x 1 root wheel 1537888 6 27 04:04 libgstreamer-lite.dylib -rwxrwxr-x 1 root wheel 217016 7 12 19:55 libhprof.dylib -rwxrwxr-x 1 root wheel 142408 7 12 19:55 libinstrument.dylib -rwxrwxr-x 1 root wheel 41124 7 12 19:55 libj2gss.dylib -rwxrwxr-x 1 root wheel 15092 7 12 19:55 libj2pcsc.dylib -rwxrwxr-x 1 root wheel 70692 7 12 19:55 libj2pkcs11.dylib -rwxrwxr-x 1 root wheel 8852 7 12 19:55 libjaas_unix.dylib -rwxrwxr-x 1 root wheel 216900 7 12 19:55 libjava.dylib -rwxrwxr-x 1 root wheel 28896 7 12 19:55 libjava_crw_demo.dylib -rwxrwxr-x 1 root wheel 38524 6 27 04:04 libjavafx_font.dylib -rwxrwxr-x 1 root wheel 780876 6 27 04:04 libjavafx_font_t2k.dylib -rwxrwxr-x 1 root wheel 250956 6 27 04:04 libjavafx_iio.dylib -rwxrwxr-x 1 root wheel 8652 7 12 19:55 libjawt.dylib -rwxrwxr-x 1 root wheel 304424 7 12 19:55 libjdwp.dylib -rwxrwxr-x 1 root wheel 25328 7 12 19:55 libjfr.dylib -rwxrwxr-x 1 root wheel 240840 6 27 04:04 libjfxmedia.dylib -rwxrwxr-x 1 root wheel 214088 6 27 04:04 libjfxmedia_avf.dylib -rwxrwxr-x 1 root wheel 53204 6 27 04:04 libjfxmedia_qtkit.dylib -rwxrwxr-x 1 root wheel 33641216 6 27 04:04 libjfxwebkit.dylib -rwxrwxr-x 1 root wheel 184620 7 12 19:55 libjpeg.dylib -rwxrwxr-x 1 root wheel 14636 7 12 19:55 libjsdt.dylib -rwxrwxr-x 1 root wheel 15744 7 12 19:55 libjsig.dylib -rwxrwxr-x 1 root wheel 74872 7 12 19:55 libjsound.dylib -rwxrwxr-x 1 root wheel 374428 7 12 19:55 libkcms.dylib -rwxrwxr-x 1 root wheel 333072 7 12 19:55 liblcms.dylib -rwxrwxr-x 1 root wheel 53592 7 12 19:55 libmanagement.dylib -rwxrwxr-x 1 root wheel 834796 7 12 19:55 libmlib_image.dylib -rwxrwxr-x 1 root wheel 90668 7 12 19:55 libnet.dylib -rwxrwxr-x 1 root wheel 61460 7 12 19:55 libnio.dylib -rwxrwxr-x 1 root wheel 15692 7 12 19:55 libnpt.dylib -rwxrwxr-x 1 root wheel 55364 7 12 19:55 libosx.dylib -rwxrwxr-x 1 root wheel 110948 7 12 19:55 libosxapp.dylib -rwxrwxr-x 1 root wheel 14424 7 12 19:55 libosxkrb5.dylib -rwxrwxr-x 1 root wheel 36068 7 12 19:55 libosxui.dylib -rwxrwxr-x 1 root wheel 54820 6 27 04:04 libprism_common.dylib -rwxrwxr-x 1 root wheel 62084 6 27 04:04 libprism_es2.dylib -rwxrwxr-x 1 root wheel 67968 6 27 04:04 libprism_sw.dylib -rwxrwxr-x 1 root wheel 10104 7 12 19:55 libresource.dylib -rwxrwxr-x 1 root wheel 77044 7 12 19:55 libsaproc.dylib -rwxrwxr-x 1 root wheel 344584 7 12 19:55 libsplashscreen.dylib -rwxrwxr-x 1 root wheel 161704 7 12 19:55 libsunec.dylib -rwxrwxr-x 1 root wheel 310328 7 12 19:55 libt2k.dylib -rwxrwxr-x 1 root wheel 102212 7 12 19:55 libunpack.dylib -rwxrwxr-x 1 root wheel 49472 7 12 19:55 libverify.dylib -rwxrwxr-x 1 root wheel 36680 7 12 19:55 libzip.dylib -rw-rw-r-- 1 root wheel 2455 7 12 19:55 logging.properties drwxrwxr-x 6 root wheel 204 7 12 19:55 management -rw-rw-r-- 1 root wheel 381 7 12 19:55 management-agent.jar -rw-rw-r-- 1 root wheel 2107 7 12 19:55 meta-index -rw-rw-r-- 1 root wheel 4464 7 12 19:55 net.properties -rw-rw-r-- 1 root wheel 942164 7 12 19:55 plugin.jar -rw-rw-r-- 1 root wheel 2796 7 12 19:55 psfont.properties.ja -rw-rw-r-- 1 root wheel 10393 7 12 19:55 psfontj2d.properties -rw-rw-r-- 1 root wheel 3505340 7 12 19:55 resources.jar -rw-rw-r-- 1 root wheel 66815098 7 12 19:55 rt.jar drwxrwxr-x 10 root wheel 340 7 12 19:55 security drwxrwxr-x 5 root wheel 170 7 12 19:55 server -rw-rw-r-- 1 root wheel 1210 7 12 19:55 sound.properties -rw-rw-r-- 1 root wheel 105500 7 12 19:55 tzdb.dat 不知道该怎么解决。 由于我java用的不多……电脑为了节约空间,也没装java开发用的IDE,.java文件甚至是用Android Studio来写的。所以有点懵逼……
windows下udp通信,我想传输int型数据数组,而不是char字符数组,怎么传输啊?
似乎sendto函数和recvfrom函数在windows下只能传输char数据或数组,对于int数据或是其他类型数据或结构体都不能传输,这个问题怎么解决啊?我想传输int型数组啊。。 ​linux下可是什么类型都能传输啊。。。 下面是发送函数sendto和接受函数recvfrom的定义: C++系统声明 int PASCAL FAR sendto ( IN SOCKET s, IN const char FAR * buf, IN int len, IN int flags, IN const struct sockaddr FAR *to, IN int tolen); recvfrom函数(经socket接收数据): 函数原型:ssize_t recvfrom(int sockfd,void *buf,int len,unsigned int flags, struct sockaddr *from,socket_t *fromlen); 求大神赐教,弄了一周也没弄出个好的方法。。
linux环境下C语言实现云盘功能。
socket编程实现。 总要求:文件多线程上传下载。具备断点续传功能。能够显示上传下载进度百分比。 要求:(1) 服务器一直运行 (2) 客户端启动后,要连接服务器,连接成功应该有提示。 (3) 客户端应该发命令给服务器,要求显示单层路径下文件的列表。 (4) 针对某个文件,发出下载命令,服务器将该文件发给客户端。客户端接收。 (5) 上传也是一样的。客户端发出上传请求,然后将文件发给服务器。 (6) 传文件其实是将文件打开,然后将里面的数据传(write)过去。 (7) 注意服务器和客户端之间的对话(通信)协议。应该先将协议写好。
通过C++/java socket向服务器端传递字符串并接收服务器的反馈字符串与使用浏览器实现相同功能有何区别?
1.在写一个打开网络服务的软件的接口时(win10环境),用c++和java 的socket分别写了两个客户端,客户端的功能是通过端口8081向本地服务器localhost发送字符串“?scanX”,然后接收服务器的反馈“done!",但是在接收的过程中会出现网络中断,要写接口的软件报错;但如果用浏览器,直接在地址栏输入"http://127.0.0.1:8081/?scanB" ,浏览器会直接显示"done!".我想解决的是用c++写一个接口exe能及时向服务器传递字符串并接收反馈,但此时反馈出现了问题,本人小白,问了很多前辈也未能解决疑问,在此求教各位前辈,大佬。 2.以下为c++代码段,运行到"sended request success!"后网络服务器不知为何断开,要写接口的软件报错 #include <iostream> #include <windows.h> using namespace std; //在windows网络编程中需要引入库 #pragma comment(lib, "wsock32.lib") int main(int argc, char *argv[]) { //在windows网络编程中导入库,linux中不需要 WSADATA Ws; if (WSAStartup(MAKEWORD(2, 2), &Ws) != 0) { cout << "Init Windows Socket Failed::" << GetLastError() << endl; return -1; } //通过域名获取IP地址 HOSTENT *host_entry = gethostbyname("127.0.0.1"); if (!host_entry){ return -1; } //将网络字节序的网络地址转为本地字节序 char *serverIP = inet_ntoa(*((struct in_addr *)host_entry->h_addr)); cout << "server IP is " << serverIP << endl; //创建socket并且绑定了TCP协议 int hsocket = socket(AF_INET, SOCK_STREAM, 0); //socket创建失败,一般都是系统资源没有了,或者没有权限 if (hsocket == INVALID_SOCKET) *** { cout << "Create Socket Failed::" << GetLastError() << endl; return -2; } //连接http服务器 sockaddr_in servAddr; servAddr.sin_family = AF_INET; servAddr.sin_port = htons(8081); //指定端口号 servAddr.sin_addr.S_un.S_addr = inet_addr(serverIP); if (connect(hsocket, (struct sockaddr*)&servAddr, sizeof(servAddr)) == -1) { cout << "Connect error" << endl; return -3; } else cout << "Connected "<<serverIP<<" successed!" << endl; //发出页面URL请求数据 char req[] = "?connect0"; //注意send并不能保证你指定大小的数据它能够全部发送, if (send(hsocket, req, (int)strlen(req), 0) < 0) { cout << "send request error" << endl; return -4; } cout << "sended request success!" << endl; //接收数据的缓冲,应为是字符串所以结尾要加\0,我们一开始就将它全部置0 char buffer[10000] = {0}; int len; if ( recv(hsocket, buffer, sizeof(buffer)-1, 0) <0) { cout << "read error" << endl; exit(1); } cout << buffer << endl; getchar(); return 0; } ``` ``` 这是运行结果 ![图片说明](https://img-ask.csdn.net/upload/201903/24/1553395763_716349.png) 软件报错(查百度说这句话是因为读取软件数据导致的,不知正确与否) ![图片说明](https://img-ask.csdn.net/upload/201903/24/1553395434_777007.png) 对比使用浏览器通信,能直接收到反馈 ![图片说明](https://img-ask.csdn.net/upload/201903/24/1553395626_39803.png)
用电信3g网络时tcp服务器端可以接收客户端数据,客户端却接收不到服务器端数据..?
用电信3g网络时tcp服务器端可以接收客户端数据,客户端却接收不到服务器端数据,但是局域网内可以正常双向通信,为什么?服务端用的有线公网IP,客户端用的电信cdma2000制式的3G网络,求大神解答,谢谢啦
《MySQL 性能优化》之理解 MySQL 体系结构
本文介绍 MySQL 的体系结构,包括物理结构、逻辑结构以及插件式存储引擎。
程序员请照顾好自己,周末病魔差点一套带走我。
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
讲真,这两个IDE插件,可以让你写出质量杠杠的代码
周末躺在床上看《拯救大兵瑞恩》 周末在闲逛的时候,发现了两个优秀的 IDE 插件,据说可以提高代码的质量,我就安装了一下,试了试以后发现,确实很不错,就推荐给大家。 01、Alibaba Java 代码规范插件 《阿里巴巴 Java 开发手册》,相信大家都不会感到陌生,其 IDEA 插件的下载次数据说达到了 80 万次,我今天又贡献了一次。嘿嘿。 该项目的插件地址: https://github....
为什么猝死的都是程序员,基本上不见产品经理猝死呢?
相信大家时不时听到程序员猝死的消息,但是基本上听不到产品经理猝死的消息,这是为什么呢? 我们先百度搜一下:程序员猝死,出现将近700多万条搜索结果: 搜索一下:产品经理猝死,只有400万条的搜索结果,从搜索结果数量上来看,程序员猝死的搜索结果就比产品经理猝死的搜索结果高了一倍,而且从下图可以看到,首页里面的五条搜索结果,其实只有两条才是符合条件。 所以程序员猝死的概率真的比产品经理大,并不是错...
害怕面试被问HashMap?这一篇就搞定了!
声明:本文以jdk1.8为主! 搞定HashMap 作为一个Java从业者,面试的时候肯定会被问到过HashMap,因为对于HashMap来说,可以说是Java集合中的精髓了,如果你觉得自己对它掌握的还不够好,我想今天这篇文章会非常适合你,至少,看了今天这篇文章,以后不怕面试被问HashMap了 其实在我学习HashMap的过程中,我个人觉得HashMap还是挺复杂的,如果真的想把它搞得明明白...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
python爬取百部电影数据,我分析出了一个残酷的真相
2019年就这么匆匆过去了,就在前几天国家电影局发布了2019年中国电影市场数据,数据显示去年总票房为642.66亿元,同比增长5.4%;国产电影总票房411.75亿元,同比增长8.65%,市场占比 64.07%;城市院线观影人次17.27亿,同比增长0.64%。 看上去似乎是一片大好对不对?不过作为一名严谨求实的数据分析师,我从官方数据中看出了一点端倪:国产票房增幅都已经高达8.65%了,为什...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
阿里面试,面试官没想到一个ArrayList,我都能跟他扯半小时
我是真的没想到,面试官会这样问我ArrayList。
曾经优秀的人,怎么就突然不优秀了。
职场上有很多辛酸事,很多合伙人出局的故事,很多技术骨干被裁员的故事。说来模板都类似,曾经是名校毕业,曾经是优秀员工,曾经被领导表扬,曾经业绩突出,然而突然有一天,因为种种原因,被裁员了,...
C语言荣获2019年度最佳编程语言
关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang近日,TIOBE官方发布了2020年1月编程语言排行榜单。我在前面给过一篇文章《2019年11月C语言接近Ja...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
良心推荐,我珍藏的一些Chrome插件
上次搬家的时候,发了一个朋友圈,附带的照片中不小心暴露了自己的 Chrome 浏览器插件之多,于是就有小伙伴评论说分享一下我觉得还不错的浏览器插件。 我下面就把我日常工作和学习中经常用到的一些 Chrome 浏览器插件分享给大家,随便一个都能提高你的“生活品质”和工作效率。 Markdown Here Markdown Here 可以让你更愉快的写邮件,由于支持 Markdown 直接转电子邮...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
应届生/社招面试最爱问的几道Java基础问题
本文已经收录自笔者开源的 JavaGuide: https://github.com/Snailclimb (【Java学习 面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识)如果觉得不错的还,不妨去点个Star,鼓励一下! 一 为什么 Java 中只有值传递? 首先回顾一下在程序设计语言中有关将参数传递给方法(或函数)的一些专业术语。按值调用(call by value)表...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
谁是华为扫地僧?
是的,华为也有扫地僧!2020年2月11-12日,“养在深闺人不知”的华为2012实验室扫地僧们,将在华为开发者大会2020(Cloud)上,和大家见面。到时,你可以和扫地僧们,吃一个洋...
Idea 中最常用的10款插件(提高开发效率),一定要学会使用!
学习使用一些插件,可以提高开发效率。对于我们开发人员很有帮助。这篇博客介绍了开发中使用的插件。
AI 没让人类失业,搞 AI 的人先失业了
最近和几个 AI 领域的大佬闲聊 根据他们讲的消息和段子 改编出下面这个故事 如有雷同 都是巧合 1. 老王创业失败,被限制高消费 “这里写我跑路的消息实在太夸张了。” 王葱葱哼笑一下,把消息分享给群里。 阿杰也看了消息,笑了笑。在座几位也都笑了。 王葱葱是个有名的人物,21岁那年以全额奖学金进入 KMU 攻读人工智能博士,累计发表论文 40 余篇,个人技术博客更是成为深度学习领域内风向标。 ...
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
最全最强!世界大学计算机专业排名总结!
我正在参与CSDN200进20,希望得到您的支持,扫码续投票5次。感谢您! (为表示感谢,您投票后私信我,我把我总结的人工智能手推笔记和思维导图发送给您,感谢!) 目录 泰晤士高等教育世界大学排名 QS 世界大学排名 US News 世界大学排名 世界大学学术排名(Academic Ranking of World Universities) 泰晤士高等教育世界大学排名 中国共...
一份王者荣耀的英雄数据报告
咪哥杂谈本篇阅读时间约为 6 分钟。1前言前一阵写了关于王者的一些系列文章,从数据的获取到数据清洗,数据落地,都是为了本篇的铺垫。今天来实现一下,看看不同维度得到的结论。2环境准备本次实...
作为一名大学生,如何在B站上快乐的学习?
B站是个宝,谁用谁知道???? 作为一名大学生,你必须掌握的一项能力就是自学能力,很多看起来很牛X的人,你可以了解下,人家私底下一定是花大量的时间自学的,你可能会说,我也想学习啊,可是嘞,该学习啥嘞,不怕告诉你,互联网时代,最不缺的就是学习资源,最宝贵的是啥? 你可能会说是时间,不,不是时间,而是你的注意力,懂了吧! 那么,你说学习资源多,我咋不知道,那今天我就告诉你一个你必须知道的学习的地方,人称...
那些年,我们信了课本里的那些鬼话
教材永远都是有错误的,从小学到大学,我们不断的学习了很多错误知识。 斑羚飞渡 在我们学习的很多小学课文里,有很多是错误文章,或者说是假课文。像《斑羚飞渡》: 随着镰刀头羊的那声吼叫,整个斑羚群迅速分成两拨,老年斑羚为一拨,年轻斑羚为一拨。 就在这时,我看见,从那拨老斑羚里走出一只公斑羚来。公斑羚朝那拨年轻斑羚示意性地咩了一声,一只半大的斑羚应声走了出来。一老一少走到伤心崖,后退了几步,突...
一个程序在计算机中是如何运行的?超级干货!!!
强烈声明:本文很干,请自备茶水!???? 开门见山,咱不说废话! 你有没有想过,你写的程序,是如何在计算机中运行的吗?比如我们搞Java的,肯定写过这段代码 public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } ...
【蘑菇街技术部年会】程序员与女神共舞,鼻血再次没止住。(文末内推)
蘑菇街技术部的年会,别开生面,一样全是美女。
那个在阿里养猪的工程师,5年了……
简介: 在阿里,走过1825天,没有趴下,依旧斗志满满,被称为“五年陈”。他们会被授予一枚戒指,过程就叫做“授戒仪式”。今天,咱们听听阿里的那些“五年陈”们的故事。 下一个五年,猪圈见! 我就是那个在养猪场里敲代码的工程师,一年多前我和20位工程师去了四川的猪场,出发前总架构师慷慨激昂的说:同学们,中国的养猪产业将因为我们而改变。但到了猪场,发现根本不是那么回事:要个WIFI,没有;...
为什么程序猿都不愿意去外包?
分享外包的组织架构,盈利模式,亲身经历,以及根据一些外包朋友的反馈,写了这篇文章 ,希望对正在找工作的老铁有所帮助
Java校招入职华为,半年后我跑路了
何来 我,一个双非本科弟弟,有幸在 19 届的秋招中得到前东家华为(以下简称 hw)的赏识,当时秋招签订就业协议,说是入了某 java bg,之后一系列组织架构调整原因等等让人无法理解的神操作,最终毕业前夕,被通知调往其他 bg 做嵌入式开发(纯 C 语言)。 由于已至于校招末尾,之前拿到的其他 offer 又无法再收回,一时感到无力回天,只得默默接受。 毕业后,直接入职开始了嵌入式苦旅,由于从未...
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
Python全栈 Linux基础之3.Linux常用命令
Linux对文件(包括目录)有很多常用命令,可以加快开发效率:ls是列出当前目录下的文件列表,选项有-a、-l、-h,还可以使用通配符;c功能是跳转目录,可以使用相对路径和绝对路径;mkdir命令创建一个新的目录,有-p选项,rm删除文件或目录,有-f、-r选项;cp用于复制文件,有-i、-r选项,tree命令可以将目录结构显示出来(树状显示),有-d选项,mv用来移动文件/目录,有-i选项;cat查看文件内容,more分屏显示文件内容,grep搜索内容;>、>>将执行结果重定向到一个文件;|用于管道输出。
​两年前不知如何编写代码的我,现在是一名人工智能工程师
全文共3526字,预计学习时长11分钟 图源:Unsplash 经常有小伙伴私信给小芯,我没有编程基础,不会写代码,如何进入AI行业呢?还能赶上AI浪潮吗? 任何时候努力都不算晚。 下面,小芯就给大家讲一个朋友的真实故事,希望能给那些处于迷茫与徘徊中的小伙伴们一丝启发。(下文以第一人称叙述) 图源:Unsplash 正如Elsa所说,职业转换是...
立即提问