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 Socket服务器端
{
public partial class Form1 : Form
{
Socket socket;
Thread thread;
public delegate void Call_Listen(); public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
thread = new Thread(new ThreadStart(Call));
thread.Start();
} //取得主机的IP地址
public static IPAddress GetServerIP()
{
IPHostEntry IPe = Dns.GetHostByName(Dns.GetHostName());
return IPe.AddressList[0];
} //监听客户连接请求
public void BeginListen()
{
//取得服务器IP地址
IPAddress ServerIP = GetServerIP(); //指定服务器终结点
IPEndPoint iep = new IPEndPoint(ServerIP,8000); //指定网络使用协议
socket = new Socket (AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
byte [] bytmsg =new byte[100];
//绑定服务终结点
socket.Bind(iep); //监听客户端连接
while (true)
{
try
{
socket.Listen(10);
Socket recvSocket = socket.Accept();
recvSocket.Receive(bytmsg);
string sTime = System.DateTime.Now.ToShortDateString();
string msg = sTime + ": Message From";
msg += recvSocket.RemoteEndPoint.ToString() + Encoding.Default.GetString(bytmsg);
listBox1.Update();
listBox1.Items.Add(msg);
}
catch (SocketException se)
{
label1.Text = se.ToString();
}
}// do while
} //使用委托
public void Call()
{
Call_Listen cl = new Call_Listen(BeginListen);
this.Invoke(cl);
}
}
}
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 Socket服务器端
{
public partial class Form1 : Form
{
Socket socket;
Thread thread;
public delegate void Call_Listen(); public Form1()
{
InitializeComponent();
} private void button1_Click(object sender, EventArgs e)
{
thread = new Thread(new ThreadStart(Call));
thread.Start();
} //取得主机的IP地址
public static IPAddress GetServerIP()
{
IPHostEntry IPe = Dns.GetHostByName(Dns.GetHostName());
return IPe.AddressList[0];
} //监听客户连接请求
public void BeginListen()
{
//取得服务器IP地址
IPAddress ServerIP = GetServerIP(); //指定服务器终结点
IPEndPoint iep = new IPEndPoint(ServerIP,8000); //指定网络使用协议
socket = new Socket (AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
byte [] bytmsg =new byte[100];
//绑定服务终结点
socket.Bind(iep); //监听客户端连接
while (true)
{
try
{
socket.Listen(10);
Socket recvSocket = socket.Accept();
recvSocket.Receive(bytmsg);
string sTime = System.DateTime.Now.ToShortDateString();
string msg = sTime + ": Message From";
msg += recvSocket.RemoteEndPoint.ToString() + Encoding.Default.GetString(bytmsg);
listBox1.Update();
listBox1.Items.Add(msg);
}
catch (SocketException se)
{
label1.Text = se.ToString();
}
}// do while
} //使用委托
public void Call()
{
Call_Listen cl = new Call_Listen(BeginListen);
this.Invoke(cl);
}
}
}
解决方案 »
- C#怎么使窗口恢复原样?有没有自带的方法?
- 关于int和int?,赋值null
- datagridview如何进行除法运算
- C#: C/S结构下如何实现远程文件传输啊?
- Linq to sql代码生成器
- 如何在c#里执行sql server DTS包?
- 菜鸟的高难度问题,在线等,分不够可以再加!
- C#怎么样实现关机?
- 无法将类型为“Common.Pack”的对象强制转换为类型“Common.Pack”。”(System.InvalidCastException)
- 用C#在.NET可以实现串口编程吗???
- 请问在窗体上一般采用什么控件展示一个矩阵
- 控制台程序 输入一串字符,然后让他反向输出?怎么做?
listBox1.Items.Add(msg);
把这两句去掉看看