PHPmaster
20th November 2011, 11:49 PM
Gan, mau nanya nih, saya disuruh buat aplikasi penerima pesan (Client Server sperti chatting) menggunakan console application (C# 2008), saya udah buat aplikasinya, tapi belum bisa saling kirim pesan, cuma baru koneksi aja, tolong bantu dong agan2 sekalian, otak saya udah mentok nih..
Berikut code program (Server) yg udah saya buat :
Code:
using System;
using System.Collections.Generic;
using System.Linq; using System.Text; using System.Net;
using System.Net.Sockets;
namespace UDP_Server
{
class Program
{
static void Main(string[] args)
{
int recv;
byte[] data = new byte[1024];
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050); Socket newsock = new
Socket(AddressFamily.InterNetwork,SocketType.Dgram , ProtocolType.Udp);
newsock.Bind(ipep);
Console.WriteLine("Menunggu Koneksi Client..."); IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); EndPoint tmpRemote = (EndPoint)(sender);
recv = newsock.ReceiveFrom(data, ref tmpRemote);
Console.WriteLine("Pesan diterima dari : {0}:", tmpRemote.ToString());
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
string welcome = "Server.....";
data = Encoding.ASCII.GetBytes(welcome);
newsock.SendTo(data, data.Length, SocketFlags.None, tmpRemote);
while (true) {
data = new byte[1024];
recv = newsock.ReceiveFrom(data, ref tmpRemote); Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
}
newsock.Close(); Console.ReadLine();
}
}
}
Dan ini untuk clientnya :
Code:
using System;
using System.Collections.Generic;
using System.Linq; using System.Text; using System.Net;
using System.Net.Sockets;
namespace UDP_CLIENT
{
class Program
{
static void Main(string[] args)
{
byte[] data = new byte[30];
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9050); Socket server = new
Socket(AddressFamily.InterNetwork,SocketType.Dgram , ProtocolType.Udp);
string helo = "Kamu ada di sana ?";
data = Encoding.ASCII.GetBytes(helo);
server.SendTo(data, data.Length, SocketFlags.None, ipep);
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); EndPoint tmpRemote = (EndPoint)sender;
// data = new byte[30];
int recv = server.ReceiveFrom(data, ref tmpRemote); Console.WriteLine("Pesan diterima dari IP Address {0}:",
tmpRemote.ToString());
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv)); Console.ReadLine();
Console.WriteLine("STOP......");
server.Close();
}
}
}
Tolong banget bantu ya gan, sebelumnya terimakasih..
</div>
Berikut code program (Server) yg udah saya buat :
Code:
using System;
using System.Collections.Generic;
using System.Linq; using System.Text; using System.Net;
using System.Net.Sockets;
namespace UDP_Server
{
class Program
{
static void Main(string[] args)
{
int recv;
byte[] data = new byte[1024];
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050); Socket newsock = new
Socket(AddressFamily.InterNetwork,SocketType.Dgram , ProtocolType.Udp);
newsock.Bind(ipep);
Console.WriteLine("Menunggu Koneksi Client..."); IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); EndPoint tmpRemote = (EndPoint)(sender);
recv = newsock.ReceiveFrom(data, ref tmpRemote);
Console.WriteLine("Pesan diterima dari : {0}:", tmpRemote.ToString());
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
string welcome = "Server.....";
data = Encoding.ASCII.GetBytes(welcome);
newsock.SendTo(data, data.Length, SocketFlags.None, tmpRemote);
while (true) {
data = new byte[1024];
recv = newsock.ReceiveFrom(data, ref tmpRemote); Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
}
newsock.Close(); Console.ReadLine();
}
}
}
Dan ini untuk clientnya :
Code:
using System;
using System.Collections.Generic;
using System.Linq; using System.Text; using System.Net;
using System.Net.Sockets;
namespace UDP_CLIENT
{
class Program
{
static void Main(string[] args)
{
byte[] data = new byte[30];
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9050); Socket server = new
Socket(AddressFamily.InterNetwork,SocketType.Dgram , ProtocolType.Udp);
string helo = "Kamu ada di sana ?";
data = Encoding.ASCII.GetBytes(helo);
server.SendTo(data, data.Length, SocketFlags.None, ipep);
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); EndPoint tmpRemote = (EndPoint)sender;
// data = new byte[30];
int recv = server.ReceiveFrom(data, ref tmpRemote); Console.WriteLine("Pesan diterima dari IP Address {0}:",
tmpRemote.ToString());
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv)); Console.ReadLine();
Console.WriteLine("STOP......");
server.Close();
}
}
}
Tolong banget bantu ya gan, sebelumnya terimakasih..
</div>