老师的讲义

wyqiang 2003-10-15 01:14:56
int my_wrtie(int fd,void *buffer,int length)
{
int bytes_left;
int written_bytes;
char *ptr;
ptr=buffer;
bytes_left=length;
while(butes_left>0)
{
write_bytes=write(fd,ptr,bytes_left);
if(written_bytes<=0)
{
if(errno==EINTR)
written_bytes=0;
else
retunr (-1);
}
bytes_left-=written_bytes;
ptr+=written_bytes;
}
return (0);
}


//////////////////////////////////////////////
int my_read(int fd,void *buffer,int length)
{
int bytes_left;
int bytes_read;
char *ptr;
bytes_left=length;
while(butes_left>0)
{
bytes_read=read(fd,ptr,bytes_read);
if(bytes_read<=0)
{
if(errno==EINTR)
bytes_read=0;
else
return (-1);
}
else
if(btyes_read==0)
break;
bytes_left-=bytes_read;
ptr+=bytes_read;
}
return (length-bytes_left);
}
...全文
36 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyqiang 2003-10-16
  • 打赏
  • 举报
回复
http://www.linuxeden.com/forum/showthread.php?s=&threadid=73053
wyqiang 2003-10-16
  • 打赏
  • 举报
回复
1) vi foo.cpp


code:--------------------------------------------------------------------------------// file: foo.cpp
#include <iostream>

using namespace std;

int main()
{
cout << "Hello, C++.\n";
return 0;
}--------------------------------------------------------------------------------

2) g++ foo.cpp
3) ./a.out


__________________
.
天才出于勤奋,聪明在于积累

★★★ 发帖请突出主题 ★★★

rabbitjump 2003-10-16
  • 打赏
  • 举报
回复
程序里有错误,什么意思???
liupengfei81 2003-10-16
  • 打赏
  • 举报
回复
什么来的?
wyqiang 2003-10-15
  • 打赏
  • 举报
回复
#include <arpa/inet.h>
int inet_aton(const char *strptr,struct in_addr *addrptr);
Int_addr_t inet_addr(const char* strptr);
char *inet_ntoa(struct in_addr inaddr);
wyqiang 2003-10-15
  • 打赏
  • 举报
回复
client.c
////////////////////////////////////////////////////
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>

int main(int argc,char *argv[])
{
int sockfd;
char buffer[1024];
struct socketaddr_in server_addr;
struct hostent *host;
int nbytes,portnumber;


if(argc!=3)
{
fprintf(stderr,"Usage:%shostname\a\n",argv[0]);
exit(1);
}
if((host=gethostbyname(argv[1]))==NULL)
{
fprintf(stderr,"Gethostname error\a\n");
exit(1);
}
if((portnumber=atoi(argv[2]))<0)
{
fprintf(stderr,"Usage:%s hostname portnumber\a\n",argv[0]);
exit(1);
}
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
fprintf(stderr,"socket Error:%s \a\n",strerror(errno));
exit(1);
}
bzero(&server_addr,sizeof(server_addr));
server_addr.sin_family=AF_INET;
server_addr.sin_port=htons(portnumber);
server_addr.sin_addr=*((struct in_addr *))host-;
if(connect(sockfd,(struct sockaddr*)(&server_addr),sizeof(&server_addr))==-1)
{
fprintf(stderr,"Connect Error:%s \a\n",strerror(errno));
exit(1);
}
if((nbytes=read(sockfd,buffer,1024))==-1)
{
fprintf(stderr,"Read Error:%s \a\n",strerror(errno));
exit(1);
}
buffer[nbytes]='\0';
printf("I have recived:%s\n",buffer);;
close(sockfd);
exit(0);
}
wyqiang 2003-10-15
  • 打赏
  • 举报
回复
server.c
//////////////////////////////////////////////////////
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <netdb.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>

int main(int argc,char *argv[])
{
int sockfd,new_fd;
struct socketaddr_in server_addr;
struct socketaddr_in client_addr;
int sin_size,portnumber;
char hello[]="hello!Are You Fine?\n";

if(argc!=2)
{
fprintf(stderr,"Usage:%s portnumber\a\n",argv[0]);
exit(1);
}
if((portnumber=atoi(argv[1]))<0)
{
fprintf(stderr,"Usage:%s portnumber\a\n",argv[0]);
exit(1);
}
if((sockfd=socket(AF_INET,SOCK_STREAM,0))==-1)
{
fprintf(stderr,"Socket error:%s\a\n",strerror(errno));
exit(1);
}
bzero(&server_addr,sizeof(struct sockaddr_in));
server_addr.sin_family=AF_INET;
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
server_addr.sin_port=htons(portnumber);
if(bind(sockfd,(struct sockeaddr*)(&server_addr),sizeof(struct sockaddr))==-1)
{
fprintf(stderr,"Bind error:%s\a\n",strerror(errno));
exit(1);
}
if(listen(sockfd,5)==-1)
{
fprintf(stderr,"Listen error:%s\a\n",strerror(errno));
exit(1);
}
close(sockfd);
exit(0);
}

23,114

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧