大神们帮我看看程序吧,linux C语言编程 隐式声明和strlen出错,改为sizeof后,段错误,
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大神们帮我看看程序吧,linux C语言编程 隐式声明和strlen出错,改为sizeof后,段错误,相关的知识,希望对你有一定的参考价值。
/*ex8-2server.c*/
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#define LISTENQ 5
#define MAXLINE 512
int main()
int listenfd, connfd;
socklen_t len;
struct sockaddr_in servaddr, cliaddr;
char buff[MAXLINE];
time_t ticks;
listenfd=socket(AF_INET, SOCK_STREAM,0);
if(listenfd<0)
printf("Socket created failed.\n");
return -1;
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(6666);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr))<0)
printf("bind failed.\n");
return -1;
printf("listening....\n");
listen(listenfd, LISTENQ);
while(1)
len=sizeof(cliaddr);
connfd=accept(listenfd,(struct sockaddr *)&cliaddr, &len);
printf("connect from %s, port %d \n",inet_ntoa(cliaddr.sin_addr.s_addr),ntohs(cliaddr.sin_port));
ticks=time(NULL);
sprintf(buff,"% .24s \r \n",ctime(&ticks));
write(connfd,buff,strlen(buff));
close(connfd);
/*ex8-2client.c*/
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#define MAXBUFFSIZE 256
#define PORT 6666
#define HOST_ADDR "127.0.0.1"
int main(int argc, char *argv[])
int sockfd,n;
char recvbuff[MAXBUFFSIZE];
struct sockaddr_in servaddr;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
printf("Socket created failed.\n");
return -1;
servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(6666);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
printf("connecting...\n");
if(connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr))<0)
printf("Connect server failed.\n");
return -1;
while((n=read(sockfd,recvbuff,MAXBUFFSIZE))>0)
recvbuff[n]=0;
fputs(recvbuff,stdout);
if(n<0)
printf("Read failed!\n");
return -2;
return 0;
这是客户机 服务器连接程序,通过套接字建立连接,客户机使用流套接字向服务器请求日期和时间,服务器在收到请求后,回答请求并显示出客户的地址,但是在终端运行后,服务器提示listening,,,,并提示段错误,客户端只提示connecting.........无法正常运行
大神们,快帮我看看EFI系统分区怎么没有了
FAT32格式的EFI分区是系统安装时建立的,操作系统引导文件所在必不可少的引导分区……如果EFI分区出错计算机加电开机后将因找不到引导文件而无法进入系统。以前引导文件和系统在一起,可能是追求安全可靠等原因,现在windows把操作系统引导文件单独放于一个分区。有点象Linux……呵呵只有GPT磁盘在安装系统时才会有EFI分区,并且是FAT32格式。原因和UEFI BIOS的引导特点有关。以前的BIOS引导不了GPT,并且安装WIN7等系统时建立的是一个隐藏的保留分区。作用和EFI一样。 参考技术A 分区格式不能在系统识别
以上是关于大神们帮我看看程序吧,linux C语言编程 隐式声明和strlen出错,改为sizeof后,段错误,的主要内容,如果未能解决你的问题,请参考以下文章
设置oracle11g定时自动备份,为啥没有备份?请大神们帮我看看为啥!
debug assertion failed winocc.cpp line:138 好不容易下载到一个程序,不能打开,大大们帮我一下吧!急!
c语言求助 帮我看看,求大神,错误是syntax error before'&' token,急
我找到1个 html 页面 用来查询 mdb 数据库 带分页,挺简单的,就是分页用post实现的,师兄们帮我看看怎么改?