⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 proxy.cpp

📁 此源码包是在linux系统中运行的网络电话界面程序。
💻 CPP
字号:
#include "proxy.h"#include <qstring.h>#include <stdlib.h>#include <unistd.h>#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <string.h>#include <errno.h>#include <signal.h>#include <qfile.h>#include <qtextview.h>#define PROXY1 "/home/yhy/proxy1"#define PROXY2 "/home/yhy/proxy2"#define PROXY3 "/home/yhy/proxy3"#define PASS "/home/yhy/pass.txt"#define SERVER "/home/yhy/server.txt"proxy::proxy(QWidget *parent,const char *name):QDialog(parent,name,TRUE){setCaption(QString::fromLocal8Bit("服务器操作"));  //²Ù×÷³É¹¦setMinimumSize(250,360);setMaximumSize(250,360);mainlayout=new QGridLayout(this,9,2,8);label1=new QLabel(QString::fromLocal8Bit("输入服务器地址"),this);mainlayout->addMultiCellWidget(label1,0,0,0,1);LEdit1 = new QLineEdit( this, "LEdit1" );mainlayout->addMultiCellWidget(LEdit1,1,1,0,1);label2=new QLabel(QString::fromLocal8Bit("输入注册帐号"),this);mainlayout->addMultiCellWidget(label2,2,2,0,1);LEdit2 = new QLineEdit( this, "LEdit2" );mainlayout->addMultiCellWidget(LEdit2,3,3,0,1);label4=new QLabel(QString::fromLocal8Bit("输入网络路由"),this);mainlayout->addMultiCellWidget(label4,6,6,0,1);LEdit4 = new QLineEdit( this, "LEdit4" );mainlayout->addMultiCellWidget(LEdit4,7,7,0,1);label3=new QLabel(QString::fromLocal8Bit("输入密码"),this);mainlayout->addMultiCellWidget(label3,4,4,0,1);LEdit3 = new QLineEdit( this, "LEdit3" );mainlayout->addMultiCellWidget(LEdit3,5,5,0,1);queding=new QPushButton(QString::fromLocal8Bit("确定"),this);//È·¶¨mainlayout->addMultiCellWidget(queding, 8, 8, 0, 0);connect(queding,SIGNAL(clicked()),this,SLOT(add()));quxiao=new QPushButton(QString::fromLocal8Bit("退出"),this);mainlayout->addMultiCellWidget(quxiao, 8, 8, 1, 1);connect(quxiao,SIGNAL(clicked()),this,SLOT(accept()));}proxy::~proxy(){}void proxy::add(){  int fd1,fd2,fd3;  printf("proxy write 000\n");  const char* str="";  QString strip = LEdit1->text();  QString tmp0,tmp;  FILE *fs;  const char* pass0="\n\n";  strip = LEdit1->text();  tmp = strip+tmp0.fromLocal8Bit(pass0,-1);  pass0 = tmp.ascii();  printf("%s",pass0);  if((fs=fopen(SERVER,"w"))==NULL)      printf("Write open file SERVER error!\n");   else      {        rewind(fs);        fputs(pass0,fs);        printf("write file sucess!\n");      }   fclose(fs);   str = "sip:";  tmp = tmp0.fromLocal8Bit(str,-1)+strip;	  str = tmp.ascii();  printf("write %d\n",strlen(str));  if((fd1=open(PROXY1,O_WRONLY|O_NONBLOCK,0))<0)  {    perror("write open proxy1 error\n");    exit(0);  }  printf("proxy write 001\n");  if(write(fd1,str,strlen(str))<0)  {    perror("write error\n");    exit(0);  }  printf("proxy write 002\n");  usleep(300000);    printf("1sleep 200ms\n");  strip=LEdit2->text();  QString str1="sip:";  QString str2="@";  QString str3=LEdit1->text();  QString tmp1;  tmp = tmp0.fromLocal8Bit(str1,-1)+strip+tmp1.fromLocal8Bit(str2,-1)+str3;  str = tmp.ascii();  printf("write %d\n",strlen(str));  if((fd2=open(PROXY2,O_WRONLY|O_NONBLOCK,0))<0)  {    perror("write open proxy2 error\n");    exit(0);  }  printf("proxy write 003\n");  if(write(fd2,str,strlen(str))<0)  {    perror("write error\n");    exit(0);  }  printf("proxy write 004\n");  QString route=LEdit4->text();  printf("write1 %d\n",strlen(route));  if(strlen(route)==0)  {      route="000";  }  printf("write2 %d\n",strlen(route));  usleep(200000);  printf("2sleep 200ms\n");  if((fd3=open(PROXY3,O_WRONLY|O_NONBLOCK,0))<0)  {    perror("write open proxy3 error\n");    exit(0);  }  printf("proxy write 005\n");  if(write(fd3,str,strlen(route))<0)  {    perror("write error\n");    exit(0);  }  printf("proxy write 006\n");   const char* pass="\n\n";   strip = LEdit3->text();   tmp = strip+tmp0.fromLocal8Bit(pass,-1);   pass = tmp.ascii();   printf("%s",pass);   FILE *fp;   if((fp=fopen(PASS,"w"))==NULL)      printf("Write open file PASS error!\n");   else      {        rewind(fp);        fputs(pass,fp);        printf("write file sucess!\n");      }   fclose(fp);   printf("close fifo sucess!\n");}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -