聊天窗口的代码

拓-------轩 2011-11-14 08:15:34
如何编写全球,就是怎样连接两台电脑的服务器进行聊天?
...全文
205 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
拓-------轩 2011-11-18
  • 打赏
  • 举报
回复
那么那个窗口的样子是怎么样的? 截张图片看看
拓-------轩 2011-11-18
  • 打赏
  • 举报
回复
哦哦 谢了啊
longai123 2011-11-15
  • 打赏
  • 举报
回复
客户端的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace _01111092
{
public partial class Form1 : Form // partial
{
private IPEndPoint MyServer;
private Socket connectSock;
private bool check = true;
private IPAddress myIP = IPAddress.Parse("127.0.0.1");
public Form1()
{
InitializeComponent();
}
private void receive()
{
while (true)
{
byte[] Rec = new Byte[64];
NetworkStream netStream = new NetworkStream(connectSock);
netStream.Read(Rec, 0, Rec.Length);
String RecMessage =
System.Text.Encoding.BigEndianUnicode.GetString(Rec);
richTextBox1.AppendText(RecMessage + "\r\n");
}

}
private void Form1_Load(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{
try
{
myIP = IPAddress.Parse(textBox1.Text);
}
catch { MessageBox.Show("输入的IP地址格式不正确,请重新输入!"); }
try
{
MyServer=new IPEndPoint(myIP,Int32.Parse(textBox2.Text));
connectSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
connectSock.Connect(MyServer);
textBox3.AppendText("与主机" + textBox1.Text + "端口" + textBox2.Text + "连接成功!\r\n");
Thread thread=new Thread(new ThreadStart(receive));
thread.Start();
}
catch(Exception ee){MessageBox.Show(ee.Message);}
}

private void button2_Click(object sender, EventArgs e)
{
try
{
byte[] sendByte = new byte[64];
String send = richTextBox2.Text + "\r\n";
NetworkStream netStream = new NetworkStream(connectSock);
sendByte = System.Text.Encoding.BigEndianUnicode.GetBytes(send.ToCharArray());
netStream.Write(sendByte, 0, sendByte.Length);
netStream.Flush();
}
catch { MessageBox.Show("连接尚未建立!无法发送!!!"); }
}

private void button3_Click(object sender, EventArgs e)
{
try
{
connectSock.Close();
// this.Close();
textBox3.AppendText("与主机" + textBox1.Text + "端口" + textBox2.Text + "断开连接!\r\n");
}
catch { MessageBox.Show("连接尚未建立,断开无效"); }
}


}
}
longai123 2011-11-15
  • 打赏
  • 举报
回复
服务器端的同步SOCKET代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace _0111109
{
public partial class Form1 : Form
{
private IPAddress myIP = IPAddress.Parse("127.0.0.1");
private IPEndPoint MyServer;
private Socket sock;
private bool check=true;
private Socket accSock;
public Form1()
{
InitializeComponent();
}
private void accp()
{
MyServer=new IPEndPoint(myIP,Int32.Parse(textBox2.Text));
sock=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
sock.Bind(MyServer);
sock.Listen(50);
MessageBox.Show("成功开监听");
// textBox3.AppendText("主机"+textBox1.Text+"端口"+textBox2.Text+"开始监听.....\r\n");
while (check)
{
accSock = sock.Accept();
if (accSock.Connected) //
{
textBox3.AppendText("与客户建立连接,");
Thread thread = new Thread(new ThreadStart(round));
thread.Start();

byte[] Rec=new byte[64];
NetworkStream netStream=new NetworkStream(accSock);
netStream.Read(Rec,0,Rec.Length);
string RecMessage=
System.Text.Encoding.BigEndianUnicode.GetString(Rec);
richTextBox1.AppendText(RecMessage+"\r\n");
}
}

}
private void round()
{
while (true)
{
byte[] Rec = new Byte[64];
NetworkStream netStream = new NetworkStream(accSock);
netStream.Read(Rec, 0, Rec.Length);
String RecMessage =
System.Text.Encoding.BigEndianUnicode.GetString(Rec);
richTextBox1.AppendText(RecMessage + "\r\n");
}
}
private void Form1_Load(object sender, EventArgs e)
{

}

private void textBox3_TextChanged(object sender, EventArgs e)
{

}

private void label1_Click(object sender, EventArgs e)
{

}

private void richTextBox1_TextChanged(object sender, EventArgs e)
{

}

private void label4_Click(object sender, EventArgs e)
{

}

private void label5_Click(object sender, EventArgs e)
{

}

private void button1_Click(object sender, EventArgs e)
{

}

private void button3_Click(object sender, EventArgs e)
{
try
{sock.Close();
textBox3.AppendText("主机"+textBox1.Text+"端口"+textBox2.Text+"监听停止!\r\n");
}
catch{MessageBox.Show("监听尚未开始,关闭无效!");}

}

private void button1_Click_1(object sender, EventArgs e)
{
try
{
myIP = IPAddress.Parse(textBox1.Text);
}
catch { MessageBox.Show("您输入的IP地址格式下正确,请重新输入!"); }
try
{
Thread thread = new Thread(new ThreadStart(accp));
thread.Start();
}
catch (Exception ee) { textBox3.AppendText(ee.Message); }
}

private void button2_Click(object sender, EventArgs e)
{
try
{
byte[] sendByte = new byte[64];
String send = richTextBox2.Text + "\r\n";
NetworkStream netStream = new NetworkStream(accSock);
sendByte = System.Text.Encoding.BigEndianUnicode.GetBytes(send.ToCharArray());
netStream.Write(sendByte, 0, sendByte.Length);
// netStream.Flush();
}
catch { MessageBox.Show("连接尚未建立!无法发送!!!"); }
}
}
}
拓-------轩 2011-11-14
  • 打赏
  • 举报
回复
就是说那些代码怎么打 如果知道的话就麻烦打出来看看哦 做个参考 也可以打出主要的就行的
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 andy1020tc 的回复:]
获取两台电脑的IP 然后设置端口就行了 聊天的话 用Socket实现
[/Quote]
楼主先实现了局域网的再说全球
PS:我也正在做聊天室
andy1020tc 2011-11-14
  • 打赏
  • 举报
回复
获取两台电脑的IP 然后设置端口就行了 聊天的话 用Socket实现
内容概要:本文详细介绍了利用Simulink进行变压器开路试验的电路连接配置与仿真实现方法,重点在于通过仿真手段还原实际电力系统中变压器在空载条件下的电气特性,从而深入理解其工作原理与性能表现。文章作为电力系统仿真系列研究的一部分,系统阐述了从电路模型搭建、参数设定、仿真运行到结果分析的完整流程,突出展示了MATLAB/Simulink在电力设备建模与教学科研中的强大功能与应用价值。; 适合人群:具备电力系统基础知识,熟悉MATLAB/Simulink仿真环境,从事电气工程、自动化及相关领域的研发人员,以及高年级本科生和研究生。; 使用场景及目标:①掌握变压器开路试验的基本原理与Simulink仿真建模的具体步骤;②通过仿真实验深入理解空载电流、铁芯损耗及励磁特性等关键参数的物理意义;③为后续开展变压器短路试验、暂态过程分析以及其他电力设备的仿真研究奠定理论与实践基础。; 阅读建议:建议结合Simulink软件动手实践,逐步构建并调试电路模型,重点关注各元件参数的设置方法与测量模块的应用技巧,同时推荐参考文中提及的其他相关仿真案例进行拓展学习,以全面提升对电力系统仿真实践的整体认知与操作能力。

111,132

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧