`

电信拨号器

阅读更多
  公司用的是电信的网络,前段时间公司的电脑总是拨不上去号,自己写了一个基于Java的电信拨号程序,感兴趣的朋友可以下载下看看。

  下面是拨号程序的原代码,大家可以看看,有什么不合理的地方请指出来。

package com.jack.telecom.dial;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

public class Dial extends JFrame{
 private JLabel lblConName;
 private JTextField txtConName;
 private JLabel lblConNum;
 private JTextField txtConNum;
 private JLabel lblStartNum;
 private JComboBox cmbStartNum;
 private JLabel lblMaxNum;
 private JComboBox cmbEndNum;
 private JLabel lblPwd;
 private JPasswordField txtPwd;
 private JLabel label;
 private JLabel lblEndMessage;
 private JLabel lblStartMessage;
 private JLabel lblConNameMessage;
 private JTextArea txaConMessage;
 private JLabel lblMessage;
 private JTextArea txaMessage;
 private JButton btnConn;
 private StringBuffer showMessage;
 private String conNum;
 private String resultStr = "";

 public Dial() {
  initComponents();
  this.setTitle("电信拨号程序");
  this.getContentPane().setLayout(null);
  this.setSize(400, 500);
  this.setVisible(true);
  // this.setBounds(100, 100, 400, 472);

  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }

 private void initComponents() {
  lblConName = new JLabel();
  lblConName.setText("网络连接名称:");
  lblConName.setBounds(10, 26, 91, 18);
  this.getContentPane().add(lblConName);

  txtConName = new JTextField();
  txtConName.setText("jack");
  txtConName.setBounds(107, 24, 87, 22);
  this.getContentPane().add(txtConName);

  lblConNum = new JLabel();
  lblConNum.setText("连接帐号:");
  lblConNum.setBounds(10, 54, 66, 18);
  this.getContentPane().add(lblConNum);

  txtConNum = new JTextField();
  txtConNum.setText("n037113051");
  txtConNum.setBounds(107, 50, 87, 22);
  this.getContentPane().add(txtConNum);

  lblStartNum = new JLabel();
  lblStartNum.setText("起始数:");
  lblStartNum.setBounds(10, 103, 66, 18);
  this.getContentPane().add(lblStartNum);

  cmbStartNum = new JComboBox();
  cmbStartNum.setBounds(107, 99, 87, 27);
  this.getContentPane().add(cmbStartNum);

  lblMaxNum = new JLabel();
  lblMaxNum.setText("最大拨号数:");
  lblMaxNum.setBounds(10, 138, 91, 18);
  this.getContentPane().add(lblMaxNum);

  cmbEndNum = new JComboBox();
  cmbEndNum.setBounds(107, 132, 87, 27);
  for (int i = 1; i <= 99; i++) {
   cmbStartNum.addItem(i);
   cmbEndNum.addItem(i);
  }
  this.getContentPane().add(cmbEndNum);

  lblPwd = new JLabel();
  lblPwd.setText("密码:");
  lblPwd.setBounds(10, 179, 91, 18);
  this.getContentPane().add(lblPwd);

  txtPwd = new JPasswordField();
  txtPwd.setText("123456");
  txtPwd.setActionCommand("*");
  txtPwd.setBounds(107, 177, 94, 22);
  this.getContentPane().add(txtPwd);

  label = new JLabel();
  label.setText("默认密码为123456");
  label.setBounds(211, 179, 118, 18);
  this.getContentPane().add(label);

  lblEndMessage = new JLabel();
  lblEndMessage.setText("选择您要进行拨号的最大限制");
  lblEndMessage.setBounds(200, 138, 178, 18);
  this.getContentPane().add(lblEndMessage);

  lblStartMessage = new JLabel();
  lblStartMessage.setText("选择您要进行拨号的起始数");
  lblStartMessage.setBounds(200, 103, 178, 18);
  this.getContentPane().add(lblStartMessage);

  lblConNameMessage = new JLabel();
  lblConNameMessage.setText("此名称为您拨号连接的名称");
  lblConNameMessage.setBounds(200, 26, 178, 18);
  this.getContentPane().add(lblConNameMessage);

  txaConMessage = new JTextArea();
  String msg = "请将您拨号帐号的前10位写上\n其中最后2位可以修改";
  txaConMessage.setText(msg);
  txaConMessage.setBounds(200, 54, 158, 40);
  this.getContentPane().add(txaConMessage);

  lblMessage = new JLabel();
  lblMessage.setText("连接显示信息:");
  lblMessage.setBounds(10, 248, 118, 18);
  this.getContentPane().add(lblMessage);

  txaMessage = new JTextArea();
  txaMessage.setEditable(false);
  JScrollPane scroll = new JScrollPane(txaMessage,
    JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
    JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  scroll.setBounds(10, 272, 368, 155);
  this.getContentPane().add(scroll);

  btnConn = new JButton();
  btnConn.addActionListener(new ActionListener() {
   public void actionPerformed(final ActionEvent e) {
    Thread t = new Thread() {
     public void run() {
      Process p = null;
      String conn = txtConNum.getText();
      int startNum = ((Integer) cmbStartNum.getSelectedItem()).intValue();
      int endNum = ((Integer) cmbEndNum.getSelectedItem()).intValue();
      String user = txtConName.getText();
      String password = txtPwd.getText();
      showMessage = new StringBuffer();
      for (int i = startNum; i < endNum; i++) {
       if (i < 10) {
        conNum = conn + "0" + i;
       } else {
        conNum = conn + i;
       }
       try {
        p = Runtime.getRuntime().exec(
          "rasdial.exe " + user + " " + conNum
            + " " + password);
        int result = p.waitFor();
        if (result == 0) {
         resultStr = "连接成功";
         // break;
        } else {
         resultStr = result + "";
        }
        showMessage.append("当前连接帐号为:" + conNum + "\n"
          + "连接结果:" + resultStr + "\n");
        txaMessage.setText(showMessage.toString());
        // new Thread().start();
        // showMsg(conNum, resultStr);
        // System.out.println("得到的数据:" + conNum + "\n" +
        // "连接结果:"
        // + resultStr + "\n");
       } catch (Exception e1) {
        e1.printStackTrace();
       }
      }
     }
    };
    t.start();
   }
  });
  btnConn.setText("开始拨号");
  btnConn.setBounds(107, 214, 106, 28);
  this.getContentPane().add(btnConn);
 }

 public void radial(String conNum,int startNum,int endNum,String user,String password){
  Process p = null;
  String conn = txtConNum.getText();
  showMessage = new StringBuffer();
  for (int i = startNum; i < endNum; i++) {
   if (i < 10) {
    conNum = conn + "0" + i;
   } else {
    conNum = conn + i;
   }
   try {
    p = Runtime.getRuntime().exec(
      "rasdial.exe " + user + " " + conNum
        + " " + password);
    int result = p.waitFor();
    if (result == 0) {
     resultStr = "连接成功";
     // break;
    } else {
     resultStr = result + "";
    }
    showMessage.append("当前连接帐号为:" + conNum + "\n"
      + "连接结果:" + resultStr + "\n");
    txaMessage.setText(showMessage.toString());
   } catch (Exception e1) {
    e1.printStackTrace();
   }
  }
 }
 
 public static void main(String[] args) {
  Dial d = new Dial();
 }
}



你也可以自己运行一下代码,不过请确定你的网络是电信的。
分享到:
评论
7 楼 t0uch 2008-07-18  
没什么出彩的地方,以前用asm写过一个,因为学校的用户名经过md5的。。。
6 楼 jackzhangyunjie 2008-07-18  
批处理,我也写的有呀,不过是兴趣所致,写一个玩玩,让大家共享下。
5 楼 xiaoyu 2008-07-18  
你还不如写一个批处理呢
4 楼 xiaoyu 2008-07-18  
你还不如写一个批处理呢
3 楼 insiku 2008-07-18  
基于Windows的rasdial吧?

貌似你程序还写错了

p = Runtime.getRuntime().exec((new StringBuilder("rasdial.exe ")).append(user).append(" ").append(conNum).append(" ").append(password).toString());



        rasdial.exe entryname [username [password|*]] [/DOMAIN:domain]
                [/PHONE:phonenumber] [/CALLBACK:callbacknumber]
                [/PHONEBOOK:phonebookfile] [/PREFIXSUFFIX]

        rasdial.exe [entryname] /DISCONNECT

        rasdial.exe

=========

或者说 你变量名取的比较变态
2 楼 jackzhangyunjie 2008-07-18  
晕,兄弟对不住呀,刚把代码给发上过,不好意思啦。
1 楼 wolfbrood 2008-07-18  
基本看完了lz的代码,觉得想法是好的,顶一个。当然代码也不错。

相关推荐

    电信拨号器3.04

    【电信拨号器3.04】是一款专为电信用户设计的拨号连接软件,尤其适用于校园网络环境。它作为电信公司推出的一款反路由器拨号工具,旨在优化用户的上网体验,确保网络连接的安全与稳定。 拨号器的核心功能是帮助用户...

    电信拨号器3.02

    协同拨号器3.0是一款中国电信推出的上网拨号软件,此版本可以通过同时拨号来达到共享上网的目的,完美破解了电信FTTB校园网不能共享上网的限制。

    C#版校园协同拨号器 可以完全取代 电信协同拨号器

    【标题】:“C#版校园协同拨号器 可以完全取代 电信协同拨号器” 这个标题揭示了我们讨论的是一个用C#编程语言开发的软件应用,它被设计用于校园网络环境,并且能够替代传统的电信协同拨号器。在传统的电信协同拨号...

    破解电信协同拨号器

    破解电信 协同拨号器 路由限制,Qt编译产生需要Qt

    四川大学电信宽带拨号器3.0

    【四川大学电信宽带拨号器3.0】是一款专为四川大学江安校区设计的网络连接工具,旨在帮助用户方便快捷地接入校园内的电信宽带网络。这款拨号器是持续更新的版本,确保了与学校网络环境的兼容性和稳定性,为师生提供...

    天翼飞拨号器

    校园宽带必备拨号器软件,好多同学都会去电信营业厅下载,现在下载就方便了

    破解电信校园网拨号器

    幻境 幻境拨号 幻境拨号器 破解电信校园网

    闪讯拨号器.rar

    "闪讯拨号器"是一款专门针对电信校园网络设计的宽带连接工具,它主要用于帮助用户在校园环境中快速、便捷地接入互联网。这款软件的特点是纯净无广告,占用系统资源少,使得用户在享受高速网络的同时,不会受到广告...

    电信校园协同拨号器 最新版

    电信校园协同拨号器 电信校园协同拨号器 最新版

    [Android]电话拨号器

    在Android系统中,电话拨号器是系统服务的一部分,由电信框架提供支持,通常与联系人应用紧密集成。这篇文章将深入探讨电话拨号器的工作原理、涉及的核心组件以及如何进行定制开发。 首先,我们要理解Android的电话...

    闪讯拨号器.zip

    在使用闪讯拨号器进行电话营销时,必须遵守相关的法律法规,例如中国的《电信条例》、《电话用户个人信息保护规定》等,不得侵犯消费者的权益。 总结来说,"闪讯拨号器"作为一款高效的企业级通讯工具,旨在通过...

    手机拨号器的制作

    4. 拨号API调用:在Android系统中,可以使用`Intent`对象和`ACTION_DIAL`动作来启动系统的拨号器应用,或者直接调用`电信Manager`的`call()`方法进行拨号。在iOS中,可以使用`tel:`URL scheme触发系统拨号器。 5. ...

    电信校园宽带拨号器

    大学校园宽带的播号器,破解校园宽带

    手动建立电信拨号连接方法

    手动建立电信拨号连接是一种无需使用电信提供的特定客户端软件,而是通过操作系统内置的功能来创建连接的方式。这种方法适用于那些希望避免安装额外软件或者遇到软件兼容性问题的用户。下面将详细介绍如何手动创建...

    电信协同拨号器2.09无广告版

    【电信协同拨号器2.09无广告版】是一款专为电信用户设计的高效、便捷的拨号软件。此版本特别强调了无广告的特性,意味着用户在使用过程中不会受到任何广告打扰,提升了用户体验。在之前的3.x版本中,由于内置了电信...

    电话拨号器说明书

    电话拨号器说明书 电话拨号器是一种全自动智能拨号装置,旨在简化拨号过程,节省时间,提高效率。该设备主要功能包括:方便、快捷、自动、兼容、多用途、大容量、远程维护等。 方便:无需拨卡号、密码,直拨即通。...

    中国电信网拨号软件[协同拨号器]v3.0(附WiFi共享精灵)最新稳定免费版

    协同拨号器是一款中国电信推出的上网拨号软件,此版本可以通过同时拨号来达到共享上网的目的,完美破解了电信FTTB校园网不能共享上网的限制。以下是上网共享宽带教程:1、解压缩2、双击文件“协同拨号器.exe”安装好...

    协同拨号器3.0

    "协同拨号器3.0"是一款专为校园或个人设计的电信拨号软件,它以其简单易用和网络稳定性强的特点受到了用户的欢迎。这款拨号器的主要功能是帮助用户连接到互联网,尤其是在校园环境中,它能有效地管理和优化网络连接...

    协同拨号器破解程序(包含算法)

    针对封杀路由的做法,已证明适用四川地区电信的协同拨号器,输入用户名和密码,可以得到加密后的账号,密码不变,即可以不使用拨号器上网,可以用路由、设置共享。(注:没人有权说这么做违法,因为是电信侵犯消费者...

    金色校园拨号器_linux_32位

    电信金色校园拨号器,也叫协同拨号器,linux版,但只能在Ubuntu下安装使用,其他linux系统未测试过。安装命令:sudo dpkg -i ppp*.deb 拨号命令:sudo Dial 断开命令:sudo Hangup 之前需要建立本地连接,具体做法,...

Global site tag (gtag.js) - Google Analytics