麻烦各位,由于从来没写过通信的程序,烦各位能不能说的详细点. 我用socket试了试,好象没有清晰的思路.
解决方案 »
- 某网站为什么IE能打开,httpweberquest却一直提示超时?
- 【算法】从一堆姓名中找出大于等于两个的姓名(重名),并按从多到少的顺序打印(显示重复个数)
- C# 关于报表问题
- 能否在安装文件中设置一些变量?
- 50多岁学C#可以不?
- 窗体加载不上
- [求助]一道笔试试题,请大家近来试试:)
- 关于图形图像的剪切、放大缩小问题
- Winform中 Chart 折线图表示 怎样实现标尺(游标)功能
- 無法連接至 'http://www.zxb.com/',發生下列錯誤: 無法建立 Web 'http://www.zxb.com/'。 Web 伺服器可能未安裝 FrontPage Server Extension。
- .net excel文件导入问题?
- 怎样确定光标在TextBox里的位置
本地的有domain域可以考虑,远程的就用socket
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new ThreadPoolSer());
} void start()
{
int recv;
byte[] data=new byte[1024];
try
{
server=new TcpListener(9955);
server.Start();
}
catch(SocketException)
{
MessageBox.Show("服务器无法启动");
return;
}
client=server.AcceptTcpClient();
ns=client.GetStream();
//Message 1
string msg1="wel come my server";
data=Encoding.GetEncoding("gb2312").GetBytes(msg1);
ns.Write(data,0,data.Length);
ns.Flush(); while(true)
{
data=new byte[1024];
recv=ns.Read(data,0,data.Length);
if(recv==0)
break;
tb_recv.Text+="recv:"+Encoding.GetEncoding("gb2312").GetString(data,0,recv)+System.Environment.NewLine;
} } private void bt_start_Click(object sender, System.EventArgs e)
{
Thread tr=new Thread(new ThreadStart(start));
tr.Start();
} private void bt_send_Click(object sender, System.EventArgs e)
{
if(ns!=null)
{ byte[] data=new byte[1024];
string sendstring=tb_sendstr.Text;
data=Encoding.GetEncoding("gb2312").GetBytes(sendstring);
ns.Write(data,0,data.Length);
ns.Flush();
tb_recv.Text+="send:"+sendstring+System.Environment.NewLine;
} }
}
}---------------------------------------------------------
private void bt_send_Click(object sender, System.EventArgs e)
{
if(ns!=null)
{
byte[] data=new byte[1024];
string sendstr=tb_sendstr.Text;
data=Encoding.GetEncoding("gb2312").GetBytes(sendstr);
ns.Write(data,0,data.Length);
ns.Flush();
textBox1.Text+="Send::"+sendstr+System.Environment.NewLine;
}
} private void bt_connect_Click(object sender, System.EventArgs e)
{
Thread tr=new Thread(new ThreadStart(start));
tr.Start();
} private void button1_Click(object sender, System.EventArgs e)
{
ns.Close();
client.Close();
}
}