PEMROGRAMAN TCP/IP
Perintah-perintah umum jaringan
Dalam
komputasi, jaringan pemrograman, pada dasarnya identik dengan
pemrograman socket atau pemrograman client-server, melibatkan programmer
menulis program yang berkomunikasi dengan program lain di sebuah
jaringan komputer. Program atau proses yang memulai komunikasi disebut
proses clien, dan program yang menunggu komunikasi untuk dimulai adalah
proses server. clien dan server berproses bersama-sama untuk membentuk
suatu sistem terdistribusi. Komunikasi antara clien dan proses server
dapat berupa connection-oriented (seperti sirkuit TCP didirikan virtual
atau sesi), atau connectionless (berdasarkan datagrams UDP).
Sebuah program yang dapat bertindak baik sebagai clien dan server didasarkan pada komunikasi peer-to-peer.
Ini adalah contoh dari fungsi atau metode biasanya disediakan oleh library API:
* Socket () membuat soket baru dari jenis socket tertentu, yang diidentifikasi oleh nomor integer, dan mengalokasikan sumber daya sistem untuk itu.
* Bind () biasanya digunakan pada sisi server, dan rekan soket dengan struktur alamat soket, yaitu nomor port tertentu lokal dan alamat IP.
* listen () digunakan pada sisi server, dan menyebabkan socket TCP terikat untuk memasukkan mendengarkan negara.
* connect () digunakan pada sisi client, dan memberikan nomor pelabuhan bebas lokal untuk socket. Dalam kasus soket TCP, hal itu menyebabkan upaya untuk membangun sebuah koneksi TCP yang baru.
* accept () digunakan pada sisi server. Ia menerima upaya masuk yang diterima untuk membuat koneksi TCP yang baru dari klien remote, dan menciptakan socket baru yang terkait dengan pasangan alamat soket sambungan ini.
* Send () dan recv (), atau write () dan read (), atau recvfrom () dan sendto (), digunakan untuk mengirim dan menerima data ke / dari soket remote.
* Close () menyebabkan sistem untuk melepaskan sumber daya yang dialokasikan untuk socket. Dalam kasus TCP, koneksi dihentikan
Alamat socket Lokal: Lokal alamat IP dan nomor port
*alamat Remote socket : Hanya untuk soket TCP yang ditetapkan. Sebagaimana dibahas di bagian Client-Server di bawah ini, hal ini penting karena server TCP dapat melayani beberapa klien secara bersamaan. Server membuat satu socket untuk setiap klien, dan soket ini berbagi alamat soket.
*Protocol: Sebuah protokol transportasi (misalnya, TCP, UDP), IP, atau lainnya. port TCP UDP port 53 dan 53 secara konsekuen berbeda, soket yang berbeda.
Sebuah program yang dapat bertindak baik sebagai clien dan server didasarkan pada komunikasi peer-to-peer.
Ini adalah contoh dari fungsi atau metode biasanya disediakan oleh library API:
* Socket () membuat soket baru dari jenis socket tertentu, yang diidentifikasi oleh nomor integer, dan mengalokasikan sumber daya sistem untuk itu.
* Bind () biasanya digunakan pada sisi server, dan rekan soket dengan struktur alamat soket, yaitu nomor port tertentu lokal dan alamat IP.
* listen () digunakan pada sisi server, dan menyebabkan socket TCP terikat untuk memasukkan mendengarkan negara.
* connect () digunakan pada sisi client, dan memberikan nomor pelabuhan bebas lokal untuk socket. Dalam kasus soket TCP, hal itu menyebabkan upaya untuk membangun sebuah koneksi TCP yang baru.
* accept () digunakan pada sisi server. Ia menerima upaya masuk yang diterima untuk membuat koneksi TCP yang baru dari klien remote, dan menciptakan socket baru yang terkait dengan pasangan alamat soket sambungan ini.
* Send () dan recv (), atau write () dan read (), atau recvfrom () dan sendto (), digunakan untuk mengirim dan menerima data ke / dari soket remote.
* Close () menyebabkan sistem untuk melepaskan sumber daya yang dialokasikan untuk socket. Dalam kasus TCP, koneksi dihentikan
Alamat socket Lokal: Lokal alamat IP dan nomor port
*alamat Remote socket : Hanya untuk soket TCP yang ditetapkan. Sebagaimana dibahas di bagian Client-Server di bawah ini, hal ini penting karena server TCP dapat melayani beberapa klien secara bersamaan. Server membuat satu socket untuk setiap klien, dan soket ini berbagi alamat soket.
*Protocol: Sebuah protokol transportasi (misalnya, TCP, UDP), IP, atau lainnya. port TCP UDP port 53 dan 53 secara konsekuen berbeda, soket yang berbeda.
Selanjutnya mengenai Scoket bisa kita lihat di wiki
http://en.wikipedia.org/wiki/Internet_socket
http://en.wikipedia.org/wiki/Socket_programming
nah pada kali ini kita akan membuat sebuah program yaitu basic TCP/IP Socket di C# ...
bisa di jelaskan ap itu TCP/IP ??
TCP/IP adalah salah satu jenis protokol* yg memungkinkan kumpulan komputer untuk berkomunikasi dan bertukar data didalam suatu network (jaringan).
Merupakan himpunan aturan yg memungkinkan komputer untuk berhubungan antara satu dengan yg lain, biasanya berupa bentuk / waktu / barisan / pemeriksaan error saat transmisi data.
PROC of Consep program :
Dalam tutrial kali ini kita akan menganalisis dua aplikasi. Dengan kata lain clien dan server sebuah tutorial yang sangat dasar :)
Cara kerjanya? server menunggu sampai clien tersambung ke IP Address dan Port. Ketika ini terjadi, server dan client siap untuk bertukar informasi melalui koneksi streaming(established connection streaming)
Catatan: Untuk membuat soket clien ini lebih mudah dan server dapat bertukar hanya satu pesan dan juga semua koneksi kita akan mengunakan alamat 127.0.0.1 (localhost).
Sebelum kita mulai kita akan mengunakan library C# Yaitu
[code]System.Net.Sockets[/code]
ok mari kita lihat code untuk servernya :
[code]using System;
using System.Text;
using System.Net.Sockets;
public class Simple_server
{
public static void Main()
{
uint id = 0;
// Pesan hanya terlihat pada console server
// di sini kita memberitahukan abhwa program telah berjalan dan memberitahukan kapan program berjalan
// dengan tambahan waktu + DateTime.Now.TimeOfDay.ToString());
Console.WriteLine("Aplikasi telah running pada time \t" + DateTime.Now.TimeOfDay.ToString());
TcpListener tcpListener = new TcpListener(5);//kita menentukan berapa banyak clien yang bisa terkoneksi (5)->5 clien
tcpListener.Start();
Socket clientSocket = tcpListener.AcceptSocket();
if (clientSocket.Connected)//jika client sudah terconnection
{
id++;
//pemberitahuan jika clien sudah terkoneksi di ikuti waktu kapan dia terkoneksi
Console.WriteLine("Client Telah terkoneksi \t" + DateTime.Now.TimeOfDay.ToString());
NetworkStream myStream = new NetworkStream(clientSocket);
System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(myStream);
System.IO.StreamReader streamReader = new System.IO.StreamReader(myStream);
string messageString = "Client " + id.ToString() + " Telah terkoneki";
streamWriter.WriteLine(messageString);
Console.WriteLine(messageString);
streamWriter.Flush();
messageString = streamReader.ReadLine();
Console.WriteLine(messageString);
streamReader.Close();
myStream.Close();
streamWriter.Close();
}
clientSocket.Close();
Console.WriteLine("");
Console.ReadLine();
}
}
[/code]
Penjelasan :
Seperti yang kita lihat basic server sangat simple. Satu-satunya hal yang harus kita lakukan adalah TcpListener seperti pada line:
[code] tcpListener.Start();[/code]
menunggu Sinyal Klien. Kemudian, ketika clientSocket Socket terkonek
[code]Socket clientSocket = tcpListener.AcceptSocket();[/code],
server dapat mengirim atau menerima pesan apapun melalui myStream NetworkStream.
[code]NetworkStream myStream = new NetworkStream(clientSocket); [/code]
Pada akhir kode server tidak lupa untuk menutup clientSocket Socket.
[code]streamReader.Close();
myStream.Close();
streamWriter.Close();
}
clientSocket.Close(); [/code]
Dengan kata lain kita harus memutuskan klien yang terhubung sebelum mematikan server.
ok sekarang kita lihat code untuk clientnya ...
[code]using System;
using System.Text;
using System.Net.Sockets;
public class Simple_client
{
static public void Main(string[] Args)
{
// Pesan hanya terlihat pada console clien
// di sini kita memberitahukan abhwa program telah berjalan dan memberitahukan kapan program berjalan
// dengan tambahan waktu + DateTime.Now.TimeOfDay.ToString());
Console.WriteLine("Aplikasi Client telah running pada time \t" + DateTime.Now.TimeOfDay.ToString());
TcpClient serverSocket;
try
{
serverSocket = new TcpClient("localhost", 5);
//pemberitahuan jika clien berhasil terkoneksi ke server di ikuti waktu kapan dia terkoneksi
Console.WriteLine("Berhasil terkoneksi ke server \t" + DateTime.Now.TimeOfDay.ToString());
}
catch
{ //Pemberitahuan saat client gagal terkoneksi ke server
Console.WriteLine("Gagagl terkoneksi ke server pada {0}:999", "localhost");
Console.WriteLine("");
Console.ReadLine();
return;
}
NetworkStream myStream = serverSocket.GetStream();
System.IO.StreamReader streamReader = new System.IO.StreamReader(myStream);
System.IO.StreamWriter streamWriter = new System.IO.StreamWriter(myStream);
try
{
// Baca pesan dari server dan tampilkan di console
string messageString;
messageString = streamReader.ReadLine();
Console.WriteLine(messageString);
streamWriter.WriteLine("Halo server gue berhasil terkoneksi ni !");
Console.WriteLine("Halo server gue berhasil terkoneksi ni !");
streamWriter.Flush();
}
catch
{
Console.WriteLine("Gagal Menerima dari Server");
}
myStream.Close();
Console.WriteLine("");
Console.ReadLine();
}
}
[/code]
Dalam kode di atas kita lihat prosedur kebalikan seperti yang kita lihat pada TcpClient ServerSocket
[code]TcpClient serverSocket; [/code]
dan kemudian kita mencoba untuk terhubung ke aplikasi server. Perhatikan bahwa semua sambungan sedang berlangsung di localhost. Jadi jika koneksi berhasil maka klien dapat mengirim atau menerima pesan apapun melalui NetworkStream myStream.
[code]NetworkStream myStream = serverSocket.GetStream(); [/code]
ini sreen shotnya :
( http://dcc-dp.org/berita93-tutorial basic tcp ip socket di csharp.html )
TCP/IP Tutorial
TCP/IP atau Transmission Control Protocol/Internet Protocol
TCP / IP (Transmission Control Protocol / Internet Protocol) adalah bahasa komunikasi dasar atau protokol Internet. Hal ini juga dapat digunakan sebagai protokol komunikasi di jaringan pribadi (baik intranet atau extranet ).
Ketika Anda mengatur dengan akses langsung ke Internet, komputer Anda
dilengkapi dengan salinan program TCP / IP seperti setiap komputer lain
yang mungkin Anda mengirim pesan atau mendapatkan informasi dari juga
memiliki salinan dari TCP / IP.
TCP / IP adalah sebuah program dua-lapisan.
Semakin tinggi lapisan, Transmission Control Protocol, mengelola
assembling dari pesan atau file menjadi lebih kecil paket yang
ditransmisikan melalui internet dan diterima oleh lapisan TCP yang
reassembles paket ke pesan asli. Lapisan yang lebih rendah, Internet Protocol, menangani alamat bagian dari tiap paket sehingga sampai ke tujuan yang tepat. Setiap Gateway komputer pada jaringan memeriksa alamat ini untuk melihat mana untuk meneruskan pesan.
Meskipun beberapa paket dari pesan yang sama yang diarahkan berbeda
dari yang lain, mereka akan berkumpul kembali di tempat tujuan. TCP / IP
menggunakan cliet / server
model komunikasi di mana pengguna komputer (klien) permintaan dan
memberikan layanan (seperti mengirim halaman web) oleh komputer lain
(server) di jaringan. TCP / IP komunikasi terutama point-to-point, yang berarti setiap komunikasi dari satu titik (atau host komputer) dalam jaringan ke jalur atau host komputer.
TCP / IP dan tingkat yang lebih tinggi aplikasi yang menggunakannya
secara kolektif dikatakan "tanpa negara" karena masing-masing permintaan
klien dianggap sebagai permintaan baru yang tidak terkait dengan salah
satu sebelumnya (seperti percakapan telepon biasa yang memerlukan
sambungan yang didedikasikan untuk durasi panggilan). Menjadi stateless membebaskan jalur jaringan sehingga setiap orang dapat menggunakannya terus menerus.
(Perhatikan bahwa lapisan TCP sendiri tidak bernegara sejauh sebagai
salah satu pesan yang bersangkutan. Koneksinya tetap di tempat sampai
semua paket dalam pesan telah diterima.)
Banyak pengguna internet yang
akrab dengan protokol lapisan yang lebih tinggi aplikasi yang
menggunakan TCP / IP untuk mendapatkan ke Internet. Ini termasuk World Wide Web Hypertext Transfer Protocol ( HTTP ), File Transfer Protocol (FTP), Telnet ( Telnet ) yang memungkinkan Anda logon ke komputer remote, dan Simple Mail Transfer Protocol ( SMTP ). Ini dan lain protokol sering dikemas bersama-sama dengan TCP / IP sebagai "suite."
Pengguna komputer pribadi dengan sebuah telepon analog modem
koneksi ke Internet biasanya mendapatkan ke Internet melalui Internet
Protocol Garis Serial (SLIP) atau Protokol Point-to-Point ( PPP ). Protokol ini encapsulate paket IP sehingga mereka dapat dikirim melalui sambungan telepon dial-up ke modem penyedia akses itu.
Protokol yang terkait dengan TCP / IP termasuk User Datagram Protocol ( UDP ), yang digunakan bukan TCP untuk tujuan khusus. Protokol lain yang digunakan oleh host komputer jaringan untuk bertukar router informasi. Ini termasuk Internet Control Message Protocol ( ICMP ), yang Interior Gateway Protokol ( IGP ), yang Exterior Gateway Protocol (EGP), dan Border Gateway Protocol ( BGP ).
Tidak ada komentar:
Posting Komentar