当前位置:  技术问答>linux和unix

UNIX下有关通信的系统函数的调用,如何快速入门??跳楼大放送——————100分!!!

    来源: 互联网  发布时间:2014-12-19

    本文导语:  兄弟我最近才开始学习UNIX(SCO UNIX),手上的项目主要和底曾通信打交道。看里面有关通信的系统函数,很烦,看的俺头都大了。 请问有经验的前辈,如何迅速入门?或者哪里有比较好的资料下载?或者哪里有比较...

兄弟我最近才开始学习UNIX(SCO UNIX),手上的项目主要和底曾通信打交道。看里面有关通信的系统函数,很烦,看的俺头都大了。

请问有经验的前辈,如何迅速入门?或者哪里有比较好的资料下载?或者哪里有比较专业一点的论坛?或者谈谈你自己的学习经验!!!

真诚请教!!!

|
#include 
#include 
#include 
#include 
#include 
int TCPSEND(int fd,char *buf,int len)
{
int i=0;
int send_rc;
for(;i=10)
return(-1);
else
return(send_rc);
}
int TCPRECEIVE(int fd,char *buf,int len)
{
int i=0;
int receive_rc;
for(;i0&&len=10)
return(-1);
else
return(receive_rc);
}
main(argc,argv)
int argc;
char **argv;
{
int i=0;
int sockfd;
FILE *tempfile;
char tempbuf[1024];
struct sockaddr_in serv_addr;
struct servent  *sp;
struct hostent  *npstHostent;
char info[100];
int infolen;
int rc;
if(argc!=2)
{
fprintf(stderr,"usage : client ipaddressn");
exit(-1);
}
sp=getservbyname("ATC_SERVICE","tcp");
npstHostent=gethostbyname("ATC_SERVER");
for(i=0;ih_addr,&(serv_addr.sin_addr),sizeof(serv_addr.sin_addr));
serv_addr.sin_addr.s_addr=inet_addr(argv[1]);
// serv_addr.sin_port=htons(20208);
serv_addr.sin_port=sp->s_port;
if((sockfd=socket(AF_INET,SOCK_STREAM,0))=0)
break;
shutdown(sockfd,2);
close(sockfd);
}
if(i>=10)
exit(-1);
memset(info,0,sizeof(info));
if((rc==TCPRECEIVE(sockfd,info,-sizeof(info)))==-1){
fprintf(stderr,"TCPReceive key failed!!n");
shutdown(sockfd,2);
close(sockfd);
exit(0);
}
if((rc=TCPSEND(sockfd,info,strlen(info)))==-1){
fprintf(stderr,"TCPSend key failed!!n");
shutdown(sockfd,2);
close(sockfd);
exit(0);
}
memset(info,0,sizeof(info));
if((rc==TCPRECEIVE(sockfd,info,-sizeof(info)))==-1){
fprintf(stderr,"TCPReceive answer failed!!n");
shutdown(sockfd,2);
close(sockfd);
exit(0);
}
if(strcmp(info,"ok")!=0){
fprintf(stderr,"Server reject service!!n");
shutdown(sockfd,2);
close(sockfd);
exit(0);
}
memset(info,0,sizeof(info));
printf("enter account no:");
scanf("%s",info);
if((rc=TCPSEND(sockfd,info,strlen(info)))==-1){
fprintf(stderr,"TCPSend failed!!n");
shutdown(sockfd,2);
close(sockfd);
exit(0);
}
tempfile=fopen("result.txt","wt+");
memset(tempbuf,0,sizeof(tempbuf));
while((rc=TCPRECEIVE(sockfd,tempbuf,-sizeof(tempbuf)))!=-1)
{
fputs(tempbuf,tempfile);
printf(tempbuf);
if(strncmp(tempbuf,"eof",3)==0) break;
memset(tempbuf,0,sizeof(tempbuf));
}
fclose(tempfile);
shutdown(sockfd,2);
close(sockfd);
}


|
是不是socket啊,用于TCP/IP通讯的?
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
int TCPSEND(int fd,char *buf,int len)
{
int i=0;
int send_rc;
for(;i=10)
return(-1);
else
return(send_rc);
}
int TCPRECEIVE(int fd,char *buf,int len)
{
int i=0;
int receive_rc;
for(;i0&&len=10)
return(-1);
else
return(receive_rc);
}

void reaper(int sig)
{
int status;

// Wait for child process complete exit
// If any error, system don't hangup
while(wait3(&status,WNOHANG,(struct rusage *)0)>=0);
}

#define FreeNewSockfd() {shutdown(newsockfd,2);close(newsockfd);exit(0);}
main()
{
int newsockfd,sockfd;
int clilen;
struct sockaddr_in cli_addr,serv_addr;
char info[100];
char tempbuf[1024];
FILE *tempfile;
int infolen;
int rc;
struct servent *sp;
//
char AddressList[48][16];
int i,AddressNo;
char AddressId[11],FileName[13];
char cmd[100];

for(i=0;i

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • unix下有没有比较好的程序版本控制和文档管理的工具?
  • UNIX下有没有可以直接得到UUID的函数
  • 求助:在Unix系统下有没有类似IIS服务的的组件
  • unix下有什么c++编译器
  • Unix下有ping命令吗?或者有相似的命令吗?
  • 请问在linux/unix下有没有象GetKeyboardState()一样对键盘状态进行控制的函数?
  • 在unix c下有什么函数可以得到一个文件的大小(字节)
  • unix下有没有像window 下的dll一类的东西?来实现程序的封装。
  • Unix下有什么能生成自解压文件的工具,而且能在ScoOpenServer下运行?
  • java 在Unix下有没有类似于Windows SDK的东西
  • 急! UNIX下有什么函数得到当前时间能精确到毫秒?
  • unix下有没有象tcpdump一的东东啊?
  • 在Linux或Unix下有没有什么好的中文五笔输入法?
  • 高手指点,unix下有什么样的工具可以对程序进行汉化???答者有分
  • 请教:Unix下有没有什么比较好的检测内存泄漏的工具呀?谢谢
  • 调查一下Unix下有哪些生成Makefile的工具?
  • unix(AIX或SCO)下有没有压缩工具可以提供使用密码压缩?
  • unix下有没有crtdbg.h用于内存泄露调试的?
  • 请问在UNIX系统下后缀名是.z的压缩文件,到WINDOWS系统的COMMAND窗口下有什么工具或命令可以解开吗?
  • 在 Unix下有没有Vector向量可以用?
  • java命名空间java.util.regex类pattern的类成员方法: unix_lines定义及介绍
  • 刚刚接触Unix系统和Unix编程。急需Unix下多线程程序设计和网络Socket程序设计方面的资料。
  • unix/Linux下c++ boost thread库读写锁介绍
  • 关于UNIX的历史 : 1973年,K.Thompson和D.M.ritchie,用C改写UNIX。那么,在此之前,UNIX是用什么写的?
  • php将标准字符串格式时间转换成unix时间戳_strtotime
  • 没有unix系统我如何学习unix
  • php将unix时间戳转换成字符串时间函数(date)
  • unix盘哪里有下载的??哪里有比较好的unix论坛??万分感谢!!!!!!!!!
  • unix/Linux下c/c++ pthread库读写锁函数介绍
  • 急!装完unix5.06,再装win2000。重启后不能进unix.
  • UNIX特急!!!digital unix问题,请专家快来!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3