你可以尝试写一个TCP框架,用C纯手写,和用Python写,其实都是调用库,但是你可以尝试一下先用C写,然后当你遇到什么问题的时候,记录下来,那么你在用Python的时候,就可能会发出"啊~"的一声美妙的声音,当你对C代码重构的时候
//C版本
#include<stdio.h>
#include<stdli.h>
#include<string.h>
#include<unistd.h>
#include<arpa/inet.h>
#definePORT9999
#defineUFFER_SIZE1024
intmain(){
intserver_fd,new_socket;
structsockaddr_inaddress;
intaddrlen=sizeof(address);
charuffer[UFFER_SIZE]={0};
char*hello="Hellofromserver";
//创建套接字
if((server_fd=socket(AF_INET,SOCK_STREAM,0))==0){
perror("Socketfailed");
exit(EXIT_FAILE);
}
//设置结构
address.sin_family=AF_INET;
address.sin_addr.s_addr=INADDR_ANY;
address.sin_port=htons(PORT);
//绑定套接字到指定端口
if(ind(server_fd,(structsockaddr*)&address,sizeof(address))<0){
perror("indfailed");
close(server_fd);
exit(EXIT_FAILE);
}
//开始连接
if(listen(server_fd,3)<0){
perror("Listenfailed");
close(server_fd);
exit(EXIT_FAILE);
}
printf("islisteningonport%d\n",PORT);
//接受客户端连接
if((new_socket=accept(server_fd,(structsockaddr*)&address,(socklen_t*)&addrlen))<0){
perror("Acceptfailed");
close(server_fd);
exit(EXIT_FAILE);
}
//读取客户端发送的数据
read(new_socket,uffer,UFFER_SIZE);
printf("Messagefromclient:%s\n",uffer);
//向客户端发送回应
send(new_socket,hello,