多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 服務器 > Linux實例:用socket通訊遠程執(zhí)行命令

Linux實例:用socket通訊遠程執(zhí)行命令

來源:程序員人生   發(fā)布時間:2014-01-23 22:23:31 閱讀次數:3659次
以下為引用的內容:
服務器端程序:
/**********************************************************
* server.c
* 服務器端程序
*
*********************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unistd.h>
#include<netdb.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>

#define BUFSIZE 8192
#define DEFAULT_PORT 5320

enum{CMD_NAME,SRC_PORT};

int execute(char *command,char *buf,int bufmax);

int main(int argc,char *argv[])
{
  struct sockaddr_in server; //服務器地址
  struct sockaddr_in client; //客戶機地址
  int len; //sockaddr_in的長度
  int port; //服務器端口號
  int s; //接收報文用描述符
  int s0; //接收連接用描述符
  int cn; //接收命令的字數
  int sn; //發(fā)送報文的字節(jié)數
  int rn; //接收報文的字節(jié)數
  char cmd1[BUFSIZE]; //第一個語句命令
  char cmd2[BUFSIZE]; //第二個語句命令
  char recv_buf[BUFSIZE]; //接收緩沖區(qū)
  char send_buf[BUFSIZE]; //發(fā)送緩沖區(qū)
 
  //實際參數的處理(端口號)
  if(argc==2){
    if((port=atoi(argv[SRC_PORT]))==0){
      struct servent *se; //服務信息
     
      if((se=getservbyname(argv[SRC_PORT],"tcp"))!=NULL)
        port=(int) ntohs((u_short)se->s_port);
      else{
        fprintf(stderr,"getservbyname error");
exit(EXIT_FAILURE);
      }
    }
  }else
    port=DEFAULT_PORT;
     
    //使用TCP協(xié)議打開一個套接字
  if((s0=socket(AF_INET,SOCK_STREAM,0))<0){
    perror("socket");
    exit(EXIT_FAILURE);
  }
   
  //設定服務器地址
  memset((char *)&server,0,sizeof(server));
  server.sin_family=AF_INET;
  server.sin_addr.s_addr=htonl(INADDR_ANY);
  server.sin_port=htons(port);
  if(bind(s0,(struct sockaddr *)&server,sizeof(server))<0){
    perror("bind");
    exit(EXIT_FAILURE);
  }
   
  //開始接受建立連接請求
  listen(s0,5);
   
  //接收連接循環(huán)
  while(1){
  //接收連接處理
    len=sizeof(client);
    if((s=accept(s0,(struct sockaddr *)&client,&len))<0){
      perror("accept");
      exit(EXIT_FAILURE);
    }
    printf("Connected From '%s'",inet_ntoa(client.sin_addr));
     
#ifdef FORK_SERVER
  if(fork()!=0){
    close(s);
    continue;
  }
  close(s0);
#endif
    //服務器處理的主要子程序
    while(1){
      int i=0; //接收字符的計數器
   
      sn=sprintf(send_buf,"TCP>");
      send(s,send_buf,sn,0);
   
      receive: //流型數據的接收處理
      if((rn=recv(s,&recv_buf[i],1,0))<0)
        break;
     
      //以換行為單位進行接收處理
      if(recv_buf[i]!=''){
        i++;
        if(i<BUFSIZE-1)
          goto receive;
      }
      recv_buf[i]=' 主站蜘蛛池模板: 伦伦影院精品一区 | jizz中国zz女人18| 一二三四视频社区5在线高清视频 | 亚洲国产成人久久笫一页 | 好吊妞视频在线观看 | 爱爱视频免费 | 伊人tv| 手机在线看片福利 | 欧美一级日韩在线观看 | 视频二区好吊色永久视频 | 欧美黑人巨大最猛性xxxxx | 欧美一二区 | 亚洲精选 | 国产精品视频流白浆免费视频 | 国产主播福利 | 女性一级全黄生活片在线播放 | 激情久久免费视频 | 成人性色生活影片 | 男人边吃奶边摸下面好爽视频 | 免费观看做网站爱 | 2022国产成人精彩在线视频 | 一级做a爱片 | 欧美精品v| 亚洲在线中文 | 日本xxxx色视频在线观看免 | 国产成人在线免费视频 | 亚洲色播永久网址大全 | 亚洲成人在线网 | 一区二区高清视频 | 欧美高清另类videosbestsex | 性猛交╳xxx乱大交 性猛交xxxxx按摩 | 国产成人久久精品推最新 | 大香网伊人久久综合网2020 | 图片区小说区校园小说 | 亚洲黄色大片 | 伊人久久大香现线蕉 | 国产不卡高清在线观看视频 | 亚洲欧洲综合 | 一级做a爱片久久毛片 | 国产欧美久久久精品影院 | 18videosex欧美69 |