2011-07-14 172 views
1

我需要在我的機器和服務器之間創建一個套接字連接。然後我需要使用smpp協議從我的機器發送一些短信到服務器。現在我無法創建套接字連接。任何機構都可以通過提供一些代碼來創建套接字連接來幫助我。創建套接字連接

我的代碼是:

import java.io.IOException; 
import java.net.Socket; 

import com.logica.smpp.TCPIPConnection; 

public class SocketConnection { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     SocketConnection tl= new SocketConnection(); 
     tl.connect(); 

    } 


    public void connect() 
    { 
     TCPIPConnection tc = new TCPIPConnection("172.16.7.92", 9410); 
     try { 
      tc.accept(); 
      System.out.println("connected"); 

     } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
} 

這個代碼是行不通的。

感謝,

科希克

+3

「不工作」是什麼意思?任何錯誤消息? – Waldheinz

回答

1

如果你試圖向外連接到服務器(而不是偵聽傳入的連接),那麼你不應該調用accept。

1

這裏有一個簡單的例子,如何打開一個普通的插座(訪問www.google.com,端口80/HTTP),並用它來發送和讀取數據:

try { 
    Socket socket = new Socket("www.google.com", 80); 
    PrintWriter writer = new PrintWriter(socket.getOutputStream(), true); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
    writer.println("GET /"); 
    String line; 
    while ((line = reader.readLine()) != null) { 
     System.out.println(line); 
    } 
    socket.close(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 

對於你的情況似乎有是TCPIPConnectionopen()方法。可能你應該使用它而不是accept()