Client Server

  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Client Server as PDF for free.

More details

  • Words: 772
  • Pages: 4
Client using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; namespace Client_1 { class Program { static void Main(string[] args) { //ตรวจสอบขอมูลที่พิมพิ์ if (args.Length != 1) System.Console.WriteLine("Using: TimeClient_2 <TimeServer>"); else {

การเปดชองทางการรับสงขอมูล ClinetจะติดตอServerตองมี2บรรทัดนี้

TcpClient timeClient = new TcpClient(args[0], 8888); NetworkStream ns = timeClient.GetStream(); // สรางชองทางการติดตอ byte[] buff = new byte[1024]; //ประกาศตัวแปร สําหรับเก็บขอมูลจาก int recvByte; string receiveMsg; //ประกาศตัวแปรเพื่อรับขอมูลจาก Server

//รับขอความจาก Server (Welcome, What's your name?) การรับขอมูลตองแปลงจาก Byte -> String

recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine("Receive : {0}", receiveMsg);

//รอรับคาจากคียบอด string requestMsg = System.Console.ReadLine(); //สงคา ที่ไดรับจากการกดคียบอด ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length);

การสงมูลตองแปลงจาก String -> Byte

//รับขอความจาก Server (Hi! Name) recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine("Receive : {0}", receiveMsg);

//รับขอความจาก Server (Enter Number) recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine("Receive : {0}", receiveMsg);

//รับคาจากคียบอด และ สงคาออก requestMsg = System.Console.ReadLine(); ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length);

//รับขอความจาก Server (YouWin หรือ YouLost) recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine("Receive : {0}", receiveMsg); //แสงคาที่รับเขามา Console.ReadLine(); timeClient.Close(); } } } }

using using using using using

System; System.Collections.Generic; System.Text; System.Net; System.Net.Sockets;

Server

namespace Server_1 { class Program { static void Main(string[] args) { IPEndPoint localEP = new IPEndPoint(IPAddress.Any, 8888); //ประกาศตัวแปร เก็บคาIP Client ฝง Server ตองมี TcpListener timeServer = new TcpListener(localEP); 4 บรรทัดนี้เสมอ timeServer.Start(); //เริ่มสตารการทํางาน System.Console.WriteLine("Time Server Started...."); while (true) // วนลูปรอรับการ Conect จาก Client {

TcpClient timeClient = timeServer.AcceptTcpClient(); //รอ Client Connect IPEndPoint clientEP = (IPEndPoint)timeClient.Client.RemoteEndPoint; System.Console.WriteLine("Accepted a new connection from {0}", clientEP.Address); clientHandling(timeClient); //เรียกฟงชัน่ clientHandling timeClient.Close(); System.Console.WriteLine("Disconnect the connection from {0}\n", clientEP.Address); } timeServer.Stop(); System.Console.ReadLine(); } static void clientHandling(TcpClient acceptedClient) { NetworkStream ns = acceptedClient.GetStream(); byte [] buff = new byte [1024]; //ประกาศตัวแปรเพื่อเก็บขอมูลจาก Client int recvByte; string stringBuff; //สง (Welcome, What's your name?) stringBuff="Welcome, What's your name? "; ns.Write(Encoding.ASCII.GetBytes(stringBuff), 0, stringBuff.Length); //รับ Name recvByte = ns.Read(buff, 0, buff.Length); stringBuff = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine("Received : {0}", stringBuff); //สง Hi! Name stringBuff = "Hi! " + stringBuff; ns.Write(Encoding.ASCII.GetBytes(stringBuff), 0, stringBuff.Length); //สง (Enter Number:) stringBuff = "Enter Number:"; ns.Write(Encoding.ASCII.GetBytes(stringBuff), 0, stringBuff.Length); //รับ (Number) recvByte = ns.Read(buff, 0, buff.Length); stringBuff = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine("Received : {0}", stringBuff); int num = int.Parse(stringBuff); //แปลงคาที่รับเขามา Stringที่รับมาใหเปน int if (num == 55) stringBuff = "You Win"; else stringBuff = "You Lost"; //สง(YouWin หรือ YouLost)

ns.Write(Encoding.ASCII.GetBytes(stringBuff), 0, stringBuff.Length); ns.Close(); } } }

using System; using System.Collections.Generic; using System.Text;

Client

using System.Net; using System.Net.Sockets; namespace Client { class Program { static void Main(string[] args) { TcpClient timeClient = new TcpClient("127.0.0.1", 9000); NetworkStream ns = timeClient.GetStream(); byte[] buff = new byte[1024]; int recvByte; string receiveMsg = ""; string requestMsg = ""; // Wait Receive form server recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine(receiveMsg); // Send Hi! requestMsg = "Hi!"; ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length); // Receive Enter width recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.Write(receiveMsg); // Send widht requestMsg = System.Console.ReadLine(); ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length); // Receive Enter hight recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.Write(receiveMsg); // Send hight requestMsg = System.Console.ReadLine(); ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length); // receive answer recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine("Area of this triangle : " + receiveMsg); // Send Name1 requestMsg = "Mr.Chatchai Tubgrit 5117660042"; ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length); System.Console.WriteLine("Send Name1 : {0} ",requestMsg); // Send Name2 requestMsg = "Mr.Utain Jantawong 5117660049"; ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length); System.Console.WriteLine("Send Name2 : {0} ", requestMsg); timeClient.Close(); System.Console.ReadLine(); } } }

using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; namespace Server

Server

{ class Program {

static void Main(string[] args) {

IPEndPoint localEP = new IPEndPoint(IPAddress.Any, 9000); TcpListener timeServer = new TcpListener(localEP); timeServer.Start(); System.Console.WriteLine("Time Server Started...."); TcpClient timeClient = timeServer.AcceptTcpClient(); IPEndPoint clientEP = (IPEndPoint)timeClient.Client.RemoteEndPoint; NetworkStream ns = timeClient.GetStream(); byte[] buff = new byte[1024]; int recvByte = 0; string receiveMsg = ""; string requestMsg = ""; // Send HELLO requestMsg = "HELLO"; ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length); // wait Receive form client recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine(receiveMsg); // Send Enter Width requestMsg = "Enter width : "; ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length); // Receive widht form client recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); int width = int.Parse(receiveMsg); System.Console.WriteLine("Width : " + width); // Send Enter Hight requestMsg = "Enter hight : "; ns.Write(Encoding.ASCII.GetBytes(requestMsg), 0, requestMsg.Length); // Receive Hight form client recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); int hight = int.Parse(receiveMsg); System.Console.WriteLine("Hight : " + hight); double answer = 0.5 * width * hight; System.Console.WriteLine("Area of this triangle : " + answer); // Send answer ns.Write(Encoding.ASCII.GetBytes(answer.ToString()), 0, (answer.ToString()).Length); // Receive Name1 recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine(receiveMsg); // Receive Name2 recvByte = ns.Read(buff, 0, buff.Length); receiveMsg = Encoding.ASCII.GetString(buff, 0, recvByte); System.Console.WriteLine(receiveMsg); timeServer.Stop(); System.Console.ReadLine(); } } }

Related Documents

Client Server
May 2020 26
Client Server
June 2020 13
Client Server
November 2019 21
Client Server
June 2020 14
Client Server
November 2019 24
Client Server Game Flow
December 2019 17