Mình không thấy ai post socket nên minh xin phep post mot bài :001: Phần SERVER: Mã: //Chuong trinh Server: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; class Seryer { static void Main(string[] args) { IPEndPoint iep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2008); Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); server.Bind(iep); server.Listen(10); Console.WriteLine("Cho ket noi tu client"); Socket client = server.Accept(); Console.WriteLine("Chap nhan ket noi tu:{0}", client.RemoteEndPoint.ToString()); string s = "CMung DVoi Server, Upper, Tinh Tong voi CP: T X Y, T.DO X la ST1, Y ST2"; //Chuyen chuoi s thanh mang byte byte[] data = new byte[1024]; data = Encoding.ASCII.GetBytes(s); //gui nhan du lieu theo giao thuc da thiet ke client.Send(data, data.Length, SocketFlags.None); while (true) { data = new byte[1024]; int recv = client.Receive(data); if (recv == 0) break; //Chuyen mang byte Data thanh chuoi va in ra man hinh s = Encoding.ASCII.GetString(data, 0, recv); //Bat dau tinh Tong, Xem Cu Phap Nhap Tren string[] ma = new string[5]; int t=0; for (int i = 0; i < 5; i++) { ma = s.Split(' '); } try//xu li ngoai le { if (ma[0] == "T") { t = Convert.ToInt32(ma[1]) + Convert.ToInt32(ma[2]); } } catch { string gcl="Ban Da Nhap Sai Cu Phap, Enter De Ket Thuc CT"; data = Encoding.ASCII.GetBytes(gcl); client.Send(data, data.Length, SocketFlags.None); s="QUIT"; data = Encoding.ASCII.GetBytes(s); client.Send(data, data.Length, SocketFlags.None); } Console.WriteLine(t.ToString()); Console.WriteLine("Clien gui len:{0}", s); //Neu chuoi nhan duoc la Quit thi thoat if (s.ToUpper().Equals("QUIT")) break; //Gui tra lai cho client chuoi s s = s.ToUpper(); data = new byte[1024]; //Tai day dung if de lua chon upper hay tinh tong if (ma[0] == "T") { data = Encoding.ASCII.GetBytes(t.ToString()); } else { data = Encoding.ASCII.GetBytes(s); } client.Send(data, data.Length, SocketFlags.None); } client.Shutdown(SocketShutdown.Both); client.Close(); server.Close(); } } Phần Client: Mã: //Chuong trinh Client: using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; class Client { static void Main(string[] args) { IPEndPoint iep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 2008); Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); client.Connect(iep); byte[] data = new byte[1024]; int recv = client.Receive(data); string s = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine("Server gui:{0}", s); string input; while (true) { input = Console.ReadLine(); //Chuyen input thanh mang byte gui len cho server data = new byte[1024]; data = Encoding.ASCII.GetBytes(input); client.Send(data, data.Length, SocketFlags.None); if (input.ToUpper().Equals("QUIT")) break; data = new byte[1024]; recv = client.Receive(data); s = Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine("Server gui:{0}", s); if (s == "QUIT") break; } client.Disconnect(true); client.Close(); } } Mọi người có thể tham khảo và góp ý. MÌnh vẫn còn một số vấn đề vẫn chưa xử lí hết. Mọi ngừoi góp ý.:029:
Mã: string s = "CMung DVoi Server, Upper, Tinh Tong voi CP: T X Y, T.DO X la ST1, Y ST2"; Cái này vd như: T 34 14 là tính tổng của 34 và 14 hehe@@