本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订 。
关于Socket编写简单聊天工具的总结(原创) - 火悬崖 阅读原文»
这段时间再看socket编程,虽然现在是刚刚接触,但是还是忍不住想写一篇总结,来激励自己努力学习,写的不好的地方,还请大家指教啊!
下面针对一个简单的发送消息和文件的程序说说吧。 首先是服务器需要准备二个Socket和二个Thread如下:
//和客户机进行通信
private Socket sckCommit;
//监听客户机
private Socket sckListen;
private Thread thdListen;
private Thread thdCommit;
private Socket sckCommit;
//监听客户机
private Socket sckListen;
private Thread thdListen;
private Thread thdCommit;
对客户机的监听和通信放在二个单独的线程中,服务端的简单界面如下:
点击启动按钮时调用下面的函数:
#region 初始化监听
//初始化监听
public void Listen()
{
try
{
string ip = txtIp.Text.Trim();
string port = txtPort.Text.Trim();
//创建IP地址
IPAddress ipaddress = IPAddress.Parse(ip);
//创建IP节点
IPEndPoint endpoint = new IPEndPoint(ipaddress, int.Parse(port));
//创建套接字
sckListen = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//绑定IP节点
sckListen.Bind(endpoint);
sckListen.Listen(10);//10为同时最大连接数
//在单独的线程里监听
thdListen = new Thread(Watch);
thdListen.IsBackground = true;
thdListen.Start();
ShowMsg("服务器启动.................");
}
catch (Exception ex)
{
ShowErr(ex);
}
}
//初始化监听
public void Listen()
{
try
{
string ip = txtIp.Text.Trim();
string port = txtPort.Text.Trim();
//创建IP地址
IPAddress ipaddress = IPAddress.Parse(ip);
//创建IP节点
IPEndPoint endpoint = new IPEndPoint(ipaddress, int.Parse(port));
//创建套接字
sckListen = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//绑定IP节点
sckListen.Bind(endpoint);
sckListen.Listen(10);//10为同时最大连接数
//在单独的线程里监听
thdListen = new Thread(Watch);
thdListen.IsBackground = true;
thdListen.Start();
ShowMsg("服务器启动.................");
}
catch (Exception ex)
{
ShowErr(ex);
}
}
没有评论:
发表评论