C# Server - Kliens

C# Server - Kliens
2009-03-31T20:59:02+02:00
2009-03-31T21:46:33+02:00
2022-11-13T03:25:41+01:00
Flux
Sziasztok.
Szerver üzenetet küld kliensnek, mi történik az ékezetekkel? Miért nem jelennek meg? helyettük ( ? ).
Köszi a segitséget
Server:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Sockets; using System.Threading; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //2000-es Port figyelése TcpListener figyel = new TcpListener(System.Net.IPAddress.Any, 2000); figyel.Start(); System.Console.WriteLine("Szerver - figyelés elinditva"); while (true) { //Folyamatossan várjuk a kapcsolatokat. Socket kapcsolat = figyel.AcceptSocket(); Server szerver = new Server(kapcsolat); Thread szal = new Thread(new ThreadStart(szerver.kliens)); szal.Start(); System.Console.WriteLine("Szál elindult"); } } } class Server { private Socket kapcsolat; public Server(Socket s) { kapcsolat = s; } public void kliens() { if (kapcsolat.Connected) // ha kapcsolodik valaki... { System.Console.WriteLine("Kliens érkezett"); UzenetKliens("üzenet a szervertől"); } } public void UzenetKliens(string msguzenet) { try { Byte[] b = Encoding.ASCII.GetBytes(msguzenet.ToCharArray()); kapcsolat.Send(b, b.Length, SocketFlags.None); } catch (Exception ex) { System.Console.WriteLine(ex.Message); } } } }


Client:


using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; namespace Kliens { public partial class Form1 : Form { TcpClient tc = new TcpClient(); public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { } public void UzenetSzerver(string msguzenet) { try { tc.Connect("localhost", 2000); NetworkStream kimeno = tc.GetStream(); byte[] msg = Encoding.UTF8.GetBytes(msguzenet); kimeno.Write(msg, 0, msg.Length); kimeno.Flush(); } catch(Exception ex) { MessageBox.Show(ex.Message); } } public void UzenetOlvas(string erkezett) { Byte[] uzenet = new Byte[50]; try { NetworkStream s = tc.GetStream(); s.Read(uzenet, 0, uzenet.Length); szoveg.Text = Encoding.ASCII.GetString(uzenet); tc.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } }
Mutasd a teljes hozzászólást!
SZVSZ az ASCII kódolás miatt van. Az ASCII nem támogatja az ékezetes karaktereket.
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd