Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Aplikacje sieciowe Obiekty typu Socket. ServerSocket ClientSocket Socket ClientSocket Socket.

Podobne prezentacje


Prezentacja na temat: "Aplikacje sieciowe Obiekty typu Socket. ServerSocket ClientSocket Socket ClientSocket Socket."— Zapis prezentacji:

1 Aplikacje sieciowe Obiekty typu Socket

2 ServerSocket ClientSocket Socket ClientSocket Socket

3 Socket gniazdo = new Socket(nazwa hosta, nr portu ); gniazdo.getInputStream() gniazdo.getOutputStream() Gniazdo.close() Porty 1 – 1024 zarezerwowane są na usługi systemowe !! (Assigned Numbers Authority) Można używać dla swoich celów portów o numerach większych niż 1024 i mniejszych od 65535. Niektóre wyższe numery portów są wykorzystywane-> www.sockets.com/services.htm ServerSocket gniazdoS = new ServerSocket(port); Socket gniazdo = gniazdoS.accept(); gniazdoS.close();

4 Obiekt Socket na platformie.NET Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

5 Socket w aplikacji klienta private Socket clientSocket;... clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); } clientSocket.Connect("localhost", 1000); byte[] buffer = new byte[200]; buffer = Encoding.ASCII.GetBytes(UserName = R2D2"); clientSocket.Send(buffer);

6 Implementacja Serwera Socket serverSocket; Socket handler; serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); IPAddress ipAddress = ipHostInfo.AddressList[0]; IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 1000); serverSocket.Bind(localEndPoint); serverSocket.Listen(10);... handler = serverSocket.Accept();... byte[] buffer= new byte[200]; bytesRead = handler.Receive(buffer);

7 Asynchroniczny Socket public class StateObject { public Socket socket; public byte[] buffer = new byte[1024]; }.... Socket socket;... StateObject stateObject = new StateObject(); socket.BeginReceive(stateObject.buffer, 0, stateObject.buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveData), stateObject);

8 Akceptacja połączenia public void AcceptUser(IAsyncResult ar) { Socket listener = (Socket)ar.AsyncState; Socket handler = listener.EndAccept(ar); } Form.CheckForIllegalCrossThreadCalls = false; serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName()); IPAddress ipAddress = ipHostInfo.AddressList[0]; IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 1000); serverSocket.Bind(localEndPoint); serverSocket.Listen(10); serverSocket.BeginAccept(new AsyncCallback(AcceptUser),serverSocket);

9 Odbiór danych public void ReceiveData(IAsyncResult result) { StateObject state=(StateObject) result.AsyncState; Socket s = state.socket; int bytesRead=s.EndReceive(result); if (bytesRead > 0) { DisplayTextBox.AppendText( Encoding.ASCII.GetString(state.buffer,0,bytesRead) + "\n"); s.BeginReceive(state.buffer, 0, state.buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveData), state); } else { DisplayTextBox.AppendText("Koniec transmisji\n"); } }


Pobierz ppt "Aplikacje sieciowe Obiekty typu Socket. ServerSocket ClientSocket Socket ClientSocket Socket."

Podobne prezentacje


Reklamy Google