1,934 questions
How to make the IP to the computer's IP in the TCP Server?
Yairk_kaufmann
6
Reputation points
How to make the IP to the computer's IP in the TCP Server?
I created a chat but every time you open the software the IP changes, so I want to make the IP the IP of the computer or the IP be fixed
the server code:
using SimpleTcp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace TCPServer
{
public partial class Form1 : Form
{
int frindNum;
string ChooseClient = "127.0.0.1:9000";
public Form1()
{
InitializeComponent();
}
public SimpleTcpServer server;
private void btnStart_Click(object sender, EventArgs e)
{
server.Start();
btnSend.Enabled = false;
txtInfo.Text += $"starting...{Environment.NewLine}";
btnStart.Enabled = false;
btnSend.Enabled = true;
}
private void Form1_Load(object sender, EventArgs e)
{
btnSend.Enabled = false;
server = new SimpleTcpServer(txtIP.Text);
server.Events.ClientConnected += Events_ClientConnected;
server.Events.ClientDisconnected += Events_ClientDisconnected;
server.Events.DataReceived += Events_DataReceived;
}
private void Events_DataReceived(object sender, DataReceivedEventArgs e)
{
this.Invoke((MethodInvoker)delegate
{
if (Encoding.UTF8.GetString(e.Data).Contains("127.0.0.1:"))
{
lstClientIP.SelectedItem = Encoding.UTF8.GetString(e.Data);
}
if (!Encoding.UTF8.GetString(e.Data).Contains("127.0.0.1:"))
{
txtInfo.Text += $"{e.IpPort}: {Encoding.UTF8.GetString(e.Data)} {Environment.NewLine}";
server.Send(lstClientIP.SelectedItem.ToString(), Encoding.UTF8.GetString(e.Data));
}
});
}
private void Events_ClientDisconnected(object sender, ClientDisconnectedEventArgs e)
{
this.Invoke((MethodInvoker)delegate
{
server.Send(lstClientIP.SelectedItem.ToString(), txtMessage.Text);
txtInfo.Text += $"{e.IpPort} disconnected.{Environment.NewLine}";
lstClientIP.Items.Remove(e.IpPort);
frindNum -= 1;
});
}
private void Events_ClientConnected(object sender, ClientConnectedEventArgs e)
{
this.Invoke((MethodInvoker) delegate
{
frindNum += 1;
txtInfo.Text += $"{e.IpPort} connected.{Environment.NewLine}";
lstClientIP.Items.Add(e.IpPort);
server.Send(e.IpPort, e.IpPort);
});
}
private void btnSend_Click(object sender, EventArgs e)
{
if (server.IsListening)
{
if(!string.IsNullOrEmpty(txtMessage.Text) && lstClientIP.SelectedItem != null)
{
server.Send(lstClientIP.SelectedItem.ToString(), txtMessage.Text);
txtInfo.Text += $"server: {txtMessage.Text}{Environment.NewLine}";
}
}
}
private void lstClientIP_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void txtMessage_TextChanged(object sender, EventArgs e)
{
}
}
}
the client code:
using SimpleTcp;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace TCP_Client
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SimpleTcpClient client;
int locY;
private void btnConnect_Click(object sender, EventArgs e)
{
try
{
client.Connect();
btnSend.Enabled = true;
btnConnect.Enabled = false;
}
catch(Exception ex)
{
MessageBox.Show(ex.Message, "messege", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Form1_Load(object sender, EventArgs e)
{
client = new(txtIP.Text);
client.Events.Connected += Events_ClientConnected;
client.Events.DataReceived += Events_DataReceived;
client.Events.Disconnected += Events_ClientDisconnected;
btnSend.Enabled = false;
}
private void Events_ClientDisconnected(object sender, ClientDisconnectedEventArgs e)
{
this.Invoke((MethodInvoker)delegate
{
txtInfo.Text += $"server disconected.{Environment.NewLine}";
});
}
private void Events_DataReceived(object sender, DataReceivedEventArgs e)
{
this.Invoke((MethodInvoker)delegate
{
//txtInfo.Text += $"fraind: {Encoding.UTF8.GetString(e.Data)} {Environment.NewLine}";
locY += 51;
Label tb = new Label();
tb.Location = new Point(label5.Location.X, locY);
tb.Text = $"fraind: {Encoding.UTF8.GetString(e.Data)} {Environment.NewLine}";
tb.Size = label5.Size;
tb.BackColor = label5.BackColor;
Panel pe = new Panel();
pe.Location = new Point(panel5.Location.X, locY - 8);
pe.Size = panel5.Size;
pe.BackColor = panel5.BackColor;
pe.BackgroundImageLayout = panel5.BackgroundImageLayout;
pe.BackgroundImage = panel5.BackgroundImage;
Controls.Add(tb);
Controls.Add(pe);
pe.Parent = panel4;
tb.Parent = panel4;
pe.BringToFront();
tb.BringToFront();
if (Encoding.UTF8.GetString(e.Data).Contains("127.0.0.1:"))
{
label3.Text = Encoding.UTF8.GetString(e.Data);
}
});
}
private void Events_ClientConnected(object sender, ClientConnectedEventArgs e)
{
this.Invoke((MethodInvoker)delegate
{
txtInfo.Text += $"server conected.{Environment.NewLine}";
btnSend.Enabled = false;
btnConnect.Enabled = false;
label3.Text = "none";
});
}
private void btnSend_Click(object sender, EventArgs e)
{
if (client.IsConnected)
{
if (!string.IsNullOrEmpty(txtMessage.Text))
{
client.Send(txtMessage.Text);
//txtInfo.Text += $"me: {txtMessage.Text}{Environment.NewLine}";
locY += 51;
Label tb = new Label();
tb.Location = new Point(label4.Location.X, locY - 2);
tb.Text = $"me: {txtMessage.Text}{Environment.NewLine}";
tb.Size = label4.Size;
tb.BackColor = label4.BackColor;
Panel pe = new Panel();
pe.Location = new Point(panel3.Location.X, locY - 8);
pe.Size = panel3.Size;
pe.BackColor = panel3.BackColor;
pe.BackgroundImageLayout = panel3.BackgroundImageLayout;
pe.BackgroundImage = panel3.BackgroundImage;
Controls.Add(tb);
Controls.Add(pe);
pe.Parent = panel4;
tb.Parent = panel4;
pe.BringToFront();
tb.BringToFront();
panel4.Size += new Size(0, 25);
txtMessage.Text = string.Empty;
}
}
}
private void lstClientIP_SelectedIndexChanged(object sender, EventArgs e)
{
client.Send(lstClients.SelectedItem.ToString());
}
private void label2_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
lstClients.Items.Add(textBox1.Text);
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void txtMessage_TextChanged(object sender, EventArgs e)
{
client.Send(lstClients.SelectedItem.ToString());
}
private void label3_Click(object sender, EventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
try
{
client.Disconnect();
btnSend.Enabled = false;
btnConnect.Enabled = false;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "messege", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
panel4.Location = new Point(panel4.Location.X,-panel4.Location.Y + -vScrollBar1.Value);
}
private void textBox2_TextChanged(object sender, EventArgs e)
{
}
}
}
Developer technologies | Windows Forms
Developer technologies | C#
11,578 questions
Sign in to answer