# Sockets -- Einsieg



## O_Neil (5. Nov 2008)

Hi.
Ich probiere gerade eine Vebindung zwischen 2 Rechnern aufzubauen. Aus dem einen Läuft ein bereits bestehdes C-Programm auf dem anderen soll ein Java client sich mit dem C-Programm connecten.

Was ich getan habe:

C-Programm grob

s=socket(AF_INET, SOCK_STREAM,0)

danach habe ich den socket verbunden

bind(s,9001)    <--- Was bringt mir das und warum 9001????

und danach

listen(s,1)    <--- Naja da "lausche" ich und akzeptiere ich nur eine Verbindung. Richtig?


In Java

Socket socket = neq Socket ("Host", port);  <--- O.k. Was kommt bei host rein? und muss ich den Port  aus dem 

C-Programm kennen? Ist AF_INET eine konstante, sodass ich die auch in java eintragen kann? Und bin ich damit dann fertig? Fragen über Fragen und hoffentlich eine Antwort.


----------



## Murray (6. Nov 2008)

O_Neil hat gesagt.:
			
		

> bind(s,9001)    <--- Was bringt mir das und warum 9001????


Damit wird der Socket mit einem bestimmten Port (hier: 9001) verbunden. Dadurch können auf einem Rechner mehrere Dienste "lauschen"



			
				O_Neil hat gesagt.:
			
		

> In Java
> 
> Socket socket = neq Socket ("Host", port);  <--- O.k. Was kommt bei host rein?


Der Name (oder doe IP) des Rechners, auf dem der C-Dienst läuft. Laufen beide Programme auf einem Rechner, dann kann hier "localhost" stehen.



			
				O_Neil hat gesagt.:
			
		

> und muss ich den Port  aus dem C-Programm kennen?


Ja



			
				O_Neil hat gesagt.:
			
		

> Ist AF_INET eine konstante,


Ja



			
				O_Neil hat gesagt.:
			
		

> sodass ich die auch in java eintragen kann?


Nein (warum auch)


----------



## tuxedo (6. Nov 2008)

Vielleicht ist es für dein "Einstieg" besser/einfacher nicht gleich sprachübergreifend die Verbindung herzustellen... ?!


----------



## -horn- (12. Nov 2008)

moien,

ich bin auch gerade bei Sockets am üben und habe mir das beispiel vom http://www.javabuch.de/download.html
angeguckt und ich als blutiger anfänger finde das ganz gut beschrieben und nachvollziehbar.

ich will nachher mit php auf den java "server" zugreifen und dann zu php zurückgeben lassen.

grüße, Andreas


----------

