19. oktober 2005 - 15:59
Der er
8 kommentarer og 1 løsning
Porte, Sockets, TCP samt UDP??
Hej er der nogen der kan hælpe mig med at forklare hvad disse ord betyder?
Annonceindlæg fra SoftwareOne
19. oktober 2005 - 16:04
#1
socket er et TCP/IP begreb som dækker over "forbindelse" en socket er identificeret ved en IP adresse og et 16 bit port nummer TCP er en protokol oven på IP som er connection orienteret og reliable UDP er også en protokol oven på IP som ikke er connection orienteret og som ikke er reliable (men den er hurtig !)
19. oktober 2005 - 16:04
#2
Brug google og søg med define:tcp define:udp define:port define:socket
19. oktober 2005 - 16:11
#3
takker arne_v læg et svar
19. oktober 2005 - 16:12
#4
svar
19. oktober 2005 - 16:12
#5
Hey arne ku du ik gi et Java eksempel på brug af henholdsvis TCP og UDP
19. oktober 2005 - 16:16
#6
TCP upload eksempel: import java.io.*; import java.net.*; public class Client { public static void main(String[] args) throws Exception { Socket s = new Socket("localhost", 9999); OutputStream os = s.getOutputStream(); InputStream is = new FileInputStream("C:\\z1.zip"); byte[] b = new byte[10000]; int n; while((n = is.read(b)) >= 0) { os.write(b, 0, n); } os.close(); is.close(); } } import java.io.*; import java.net.*; public class Server { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(9999); Socket s = ss.accept(); InputStream is = s.getInputStream(); OutputStream os = new FileOutputStream("C:\\z2.zip"); byte[] b = new byte[10000]; int n; while((n = is.read(b)) >= 0) { os.write(b, 0, n); } os.close(); is.close(); } }
19. oktober 2005 - 16:17
#7
jeg har desværre ikke nogle UDP eksempler på lager
19. oktober 2005 - 16:20
#8
Perfekt tusind tak :)
21. oktober 2005 - 08:33
#9
Så kan du da lige få et simpelt udp eks her: import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; import java.io.IOException; public class UDPServer { private DatagramSocket socket = null; private DatagramPacket packet = null; private byte[] buffer = new byte[1024]; //recievebuffer public UDPServer(int port){ //create a packet to receive the buffer packet = new DatagramPacket(buffer, buffer.length); try{ socket = new DatagramSocket(port); } catch(SocketException e){ System.err.println("UDPServer - contructor - Error creating DatagramSocket on port: "+port+". Exception:"+e); } boolean listen = true; while(listen){ System.out.println("UDPServer - waiting for packet"); try{ socket.receive(packet); System.out.println("UDPServer - packet received"); } catch(IOException e){ System.err.println("UDPServer - listen - Error receiving packet. Exception:"+e); } String message = new String(buffer,0,0, packet.getLength()); System.out.println("UDPServer - tekst modtaget:"+message); if(message.equals("stop server")){ listen=false; System.out.println("Stopping server"); } } } public static void main(String[] args) { UDPServer server = new UDPServer(8505); } } import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; import java.net.UnknownHostException; import java.io.IOException; import java.net.InetAddress; public class UDPClient { private InetAddress internetAddress = null; private DatagramPacket packet = null; private DatagramSocket socket = null; public UDPClient(){ } public void sendMessage(String text, int port, String host) { byte[] message = new byte[text.length()]; message = text.getBytes(); try{ internetAddress = InetAddress.getByName(host); packet = new DatagramPacket(message, text.length(), internetAddress, port); socket = new DatagramSocket(); socket.send(packet); System.out.println("UDPClient: packet send - text:"+text); } catch(SocketException e){ System.err.println("UDPClient - contructor - Error creating DatagramSocket. SocketException:"+e); } catch(UnknownHostException u){ System.err.println("UDPClient - contructor - Error creating DatagramSocket. UnknownHostException:"+u); } catch(IOException i){ System.err.println("UDPClient - contructor - Error creating DatagramSocket. IOException:"+i); } packet = null; socket = null; } public static void main(String[] args) { UDPClient client = new UDPClient(); client.sendMessage("Hej", 8505, "localhost"); client.sendMessage("Hej igen", 8505, "localhost"); client.sendMessage("stop server", 8505, "localhost"); } }
Kurser inden for grundlæggende programmering