1 / 12
文档名称:

关于一个 Scoket 通信的基本代码和一个基本的通信.doc

格式:doc   大小:90KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

关于一个 Scoket 通信的基本代码和一个基本的通信.doc

上传人:mh900965 2017/12/20 文件大小:90 KB

下载得到文件列表

关于一个 Scoket 通信的基本代码和一个基本的通信.doc

相关文档

文档介绍

文档介绍:关于一个 Scoket 通信的基本代码和一个基本的通信
实现一个服务器和N个客户端的互相聊天
Server:
using System;using ;using ponentModel;using ;using ;using ;//Endpointusing .Sockets;//包含套接字using ;using ;using ;using ;
namespace Server
{
public partial class Form1 : Form
{
public Form1()
{
ponent();
= false;//关闭跨线程修改控件检查}
Socket sokWatch = null;//负责监听客户端段连接请求的套接字 Thread threadWatch = null;//负责调用套接字, 执行监听请求的线程
//开启监听按钮 private void btnStartListen_Click(object sender, EventArgs e)
{
//实例化套接字(ip4寻址协议,流式传输,TCP协议) sokWatch = new Socket(, , );
//创建 ip对象 IPAddress address = (());
//创建网络节点对象包含 ip和port IPEndPoint endpoint = new IPEndPoint(address, (()));
//将监听套接字绑定到对应的IP和端口 (endpoint);

//设置监听队列长度为10(同时能够处理 10个连接请求) (10);
threadWatch = new Thread(StartWatch);
= true;
();
("启动服务器成功......\r\n");
}
//Dictionary<string, Socket> dictSocket = new Dictionary<string, Socket>(); Dictionary<string, ConnectionClient> dictConn = new Dictionary<string, ConnectionClient>();

bool isWatch = true;
#region
/// <summary>
/// 被线程调用监听连接端口
/// </summary> void StartWatch()
{
while (isWatch)
{
//();
//监听客户端连接请求,但是,Accept会阻断当前线程 Socket sokMsg = ();//监听到请求,立即创建负责与该客户端套接字通信的套接字 ConnectionClient connection = new ConnectionClient(sokMsg, ShowMsg, RemoveClientConnection);
//将负责与当前连接请求客户端通信的套接字所在的连接通信类对象装入集合 ((), connection);
//将通信套接字加入集合,并以通信套接字的远程IpPort作为键
//((), sokMsg);
//将通信套接字的客户端IP端口保存在下拉框里 (());
ShowMsg(
"接收连接成功......");
//启动一个新线程,负责监听该客户端发来的数据
//Thre