# UCP Connection über Proxy möglich?



## alrescha (18. Aug 2010)

Hallo allerseits,

für die Entwicklung einer Komponente meiner Software muss ich von einem Server unseres Unternehmens die Verbindung zu einem externen SMS-Provider via UCP/TCP herstellen. Nun hat sich die Frage gestellt, ob diese Verbindung auch über unseren Proxy hergestellt werden kann (was die Freischaltung des fremden Servers und des Ports überflüssig machen würde - vor allem hinsichtlich unserer Security natürlich überdenkenswert).

Per HTTP ist klar, aber geht auch UCP? Ich konnte dazu per Google und in den einschlägigen FAQs/Tutorials/Spezifikationen leider nichts finden. Kann sein, dass ich falsch gesucht habe. Theoretisch müsste das ja eigentlich problemlos funktionieren (ich kann mir jedenfalls keinen gegenteiligen Grund vorstellen). Hat das schon mal jemand gemacht und kann mir einen Tipp in die richtige Richtung geben?

Für die UCP Connection verwende ich eine spezielle API - sollte aber eigentlich nichts zur Sache tun.

Grüße
Susanne


----------



## Michael... (18. Aug 2010)

per Proxy in die weite Welt geht im Idealfall mit

```
System.setProperty("proxyHost","meinProxy.domain");
System.setProperty("proxyPort","meinPort");
```
Für Socketverbindungen gibt's noch:

```
System.setProperty("socksProxyHost","meinProxy.domain");
System.setProperty("socksProxyPort","meinPort");
```


----------



## hemeroc (18. Aug 2010)

So wie ich das gesehen habe läuft UCP ja auf der Anwendungsschicht.
Nachdem der Proxy soweit ich weiß auf der Transport Ebene lauft sollte das kein Problem sein, einfach einen ganz normalen TCP-Proxy verwenden (entsprechende Ports vorrausgesetzt).
Wichtig ist es eben einen wirklichen TCP-Proxy zu verwenden ein HTTP-Proxy wird hingegen nicht funktionieren.
LG
Hemeroc


----------



## alrescha (18. Aug 2010)

Super, das hilft mir schon weiter. Ist also eigentlich auch nichts anderes als per http. Ich werde mal ein bisschen rumspielen damit. Vielen Dank! 

Edit: In der Theorie (ungetestet) eigentlich so was hier, oder:


```
System.setProperty("socksProxyHost","meinProxy.domain");
System.setProperty("socksProxyPort","meinPort");

SocketAddress addr = new InetSocketAddress("meinProxy.domain", meinPort);
Proxy proxy = new Proxy(Proxy.Type.SOCKS, addr);
Socket socket = new Socket(proxy);
InetSocketAddress dest = new InetSocketAddress(SMSManager.HOST, SMSManager.TCPPORT);
socket.connect(dest);
```


----------



## tuxedo (18. Aug 2010)

UCP? Du meinst doch UDP?!


----------



## hemeroc (18. Aug 2010)

Da es ihm um SMS-Zustellung ging meinte er wahrscheinlich wirklich UCP (Universal Computer Protocol) welches ein über TCP laufendes Protokoll zum bedienen von SMS-Gateways ist.
LG


----------



## tuxedo (18. Aug 2010)

Ah, wieder was dazu gelernt. Danke für den Hinweis. Hatte vor meinem Post sogar noch schnell Google befragt. Aber so wirklich raus kam bei der Suche nicht :-(


----------



## alrescha (20. Aug 2010)

hemeroc hat gesagt.:


> Da es ihm um SMS-Zustellung ging meinte *er *wahrscheinlich wirklich UCP (Universal Computer Protocol) welches ein über TCP laufendes Protokoll zum bedienen von SMS-Gateways ist.
> LG



Hüstel... "Susanne" (wie im Startposting angegeben) ist ein weiblicher Name

Grundsätzlich sollte das ganze so funktionieren. Allerdings muss ich mich am Proxy auch authentifizieren und das scheint nicht so einfach zu gehen. Die System.setProperty bringt mir da jedenfalls bisher nicht viel. Jemand noch einen Tipp? Beispiele finde ich leider immer nur für die URL-Connection, die mir in dem Fall aber leider nicht viel bringt. Schätze, da muss ich mich ein bisschen Richtung Authenticator und PasswordAuthentication schlau machen. Hm... Interessant ist das Thema aber allemal



tuxedo hat gesagt.:


> Ah, wieder was dazu gelernt. Danke für den Hinweis. Hatte vor meinem Post sogar noch schnell Google befragt. Aber so wirklich raus kam bei der Suche nicht :-(



Ja... das ist gerade auch mein Problem.


----------

