本帖最后由 yanljun3 于 2009-09-05 13:06:41 编辑

解决方案 »

  1.   

    太长了 - - java和c#语法差不太多的
      

  2.   

    plainText = password.getBytes("UTF8"); 
    MessageDigest messageDigest = MessageDigest.getInstance("SHA-1"); 
    messageDigest.update(plainText); 
    String pass64 = ""; 
    pass64 = new String(messageDigest.digest(), "UTF8"); 
    pass64 = new sun.misc.BASE64Encoder().encode(pass64.getBytes("UTF8")); 
    OutputStream os = s.getOutputStream(); 
    InputStream is = s.getInputStream(); 和
    byte[] buf = new byte[100]; 
    int len = is.read(buf); 
      

  3.   

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.IO; public partial class frmLogin : Form
        {
            public frmLogin()
            {
                InitializeComponent();        }        
            public static void frmLogin_Load(object sender, EventArgs e)
            {
                   String a = "用户名"; 
                   String b = "密码"; 
                   String c = "218.94.58.243"; 
                   int d = 9100; 
                   Login lo = new Login();                Console.WriteLine(lo.Enter(a, b, c, d)); 
            }
        }public List Enter(String name, String password, String ipaddress, int port) 
    { List listsms = new java.util.ArrayList(); byte[] plainText = null; 
    if (name != null && password != null) 

    try 

    Socket s = new Socket(InetAddress.getByName(ipaddress), port); plainText = password.getBytes("UTF8"); 
    MessageDigest messageDigest = MessageDigest.getInstance("SHA-1"); 
    messageDigest.update(plainText); 
    String pass64 = ""; 
    pass64 = new String(messageDigest.digest(), "UTF8"); 
    pass64 = new sun.misc.BASE64Encoder().encode(pass64.getBytes("UTF8")); 
    OutputStream os = s.getOutputStream(); 
    InputStream is = s.getInputStream(); 
    os.write(("0" + ";;;" + name + ";;;" + pass64 + "\n").getBytes()); while (true) 

    byte[] buf = new byte[100]; 
    int len = is.read(buf); String aa = new String(buf, 0, 4, "UTF8"); 
    if (aa.equals("1000")) 

    Console.WriteLine("登陆成功"); 
    break; 

    String bb = new String(buf, 0, 5, "UTF8"); if (bb.equals("-1000")) 

    Console.WriteLine("登陆失败"); 
    break; 

    System.out.println(new String(buf, 0, len, "UTF8")); } 
    //   os.write(("Hello!"+"\n").getBytes()); 
    os.write(("querysms" + "\n").getBytes()); int exitflag = 0; 
    int smsno = 0;  //用于记录短信条数 while (true) 

    byte[] buf1 = new byte[300]; 
    int len = is.read(buf1); 
    System.out.println(new String(buf1, 0, len, "UTF8")); 
    //     
    System.out.println("lenth=" + len); 
    int smsprop = 0;  //用于记录短信属性:0--发送方号码 1--接受方号码  2---时间 
    if (len > 60) 

    int tmp = 0; 
    Smsproperty sms = new Smsproperty(); 
    for (int i = 0; i < len; i++) 

    String sendphone = new String(buf1, i, 3, "UTF8"); 
    if (sendphone.equals(";;;")) 

    String context = new String(buf1, tmp, i - tmp, "UTF8"); 
    //             System.out.println("i="+i); switch (smsprop % 3) 

    case 0: 
    sms.setSendphone(context); 
    System.out.println(sms.getSendphone()); 
    break; 
    case 1: 
    sms.setRecePhone(context); 
    System.out.println(sms.getRecePhone()); 
    break; 
    case 2: 
    sms.setSendtime(context); 
    System.out.println(sms.getSendtime()); 
    break; 
    default: 
    break; 

    tmp = i + 3; 
    smsprop++; 

    if (sendphone.equals("|||")) 

    sms.setSendcontext(new String(buf1, tmp, i - tmp, "UTF8")); 
    System.out.println(sms.getSendcontext()); 
    listsms.add(sms.getSendphone()); 
    listsms.add(sms.getRecePhone()); 
    listsms.add(sms.getSendtime()); 
    listsms.add(sms.getSendcontext()); 
    tmp = 0; 
    smsno++; 
    smsprop = 0; } } } 
    for (int i = 0; i < len - 5; i++) 

    String totalno = new String(buf1, i, 5, "UTF8"); if (totalno.equals("total")) 
    { System.out.println(" total is" + new String(buf1, i + 6, 3, "UTF8")); 
    exitflag = 1; 


    if (exitflag == 1) break; } } 
    catch (Exception e) 
    { e.printStackTrace(); } 

    Console.WriteLine(listsms.size()); 
    Console.WriteLine(listsms); 
    return listsms; } } 
      

  4.   

    s.getOutputStream(); 
    s.getInputStream(); 对于 
    C# 的 是什么方法