参考自:http://blog.csdn.net/liguo9860/article/details/6148614

服务端:

aaarticlea/png;base64,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" alt="" />

         #region 属性

         //请求的客户端连接
Socket clientsocket;
//当前连接集合
List<Client> clients;
//请求客户端线程
Thread clientservice;
//服务器监听线程
Thread threadListen;
//服务器监听连接
TcpListener listener;
//本机ip地址
IPAddress currentIp;
//端口号
Int32 currentPort; public delegate void MyInvoke(string str); #endregion #region 自定义事件 /// <summary>
/// 开始监听
/// </summary>
public void StartListening()
{
//本机ip
currentIp = GetIPAddress();
//使用端口号
currentPort = int.Parse(nudPort.Value.ToString());
//定义网络连接监听
listener = new TcpListener(currentIp, currentPort);
listener.Start();
while (true)
{
try
{
//开始监听网络连接
clientsocket = listener.AcceptSocket();
//客户端连接线程
clientservice = new Thread(new ThreadStart(ServiceClient));
clientservice.IsBackground = true;
//启用线程
clientservice.Start();
}
catch (Exception ex)
{
//创建设置状态文本线程
Thread handlerControl = new Thread(delegate() { setErrorText(ex.Message); });
//启动线程
handlerControl.Start();
}
}
} /// <summary>
/// 客户端服务
/// </summary>
public void ServiceClient()
{
//获取一个客户端连接
Socket client = clientsocket;
//用于标识连接是否存活
Boolean keepalive = true;
//判断新连接是否存在
if (client == null)
{
keepalive = false;
}
else
{
keepalive = true;
} //客户端连接存活
while (keepalive)
{
//数据字节
Byte[] buffer = new Byte[];
//数据量
int bufLen = ;
try
{
//获取从客户端获取的数据量
bufLen = client.Available;
//无数据,再监听
if (bufLen < )
{
continue;
} //有数据,接受客户端发送的数据
client.Receive(buffer, , bufLen, SocketFlags.None); //将字节数组转为字符串
string infoStr = Encoding.UTF8.GetString(buffer).Substring(, bufLen).Trim(new char[] { '\r', '\0' }); //显示在消息框
setText(infoStr); //分割传入的信息
string[] infoArr = infoStr.Split('|');
//消息类型
string type = infoArr[]; //CONN:表示新建连接。发送格式:CONN|发送者名称
if (type == "CONN")
{
//是否重复
bool isRepeat = false;
//循环所有在线看账号是否重复
foreach (Client item in clients)
{
if (infoArr[].Trim() == item.Name.Trim())
{
//如果还在连接状态
if (client.Connected)
{
//发送消息
sendToClient(new Client("", null, null, client), "ERROR|账号重复");
isRepeat = true;
}
break;
}
} //重复了,重新监听
if (isRepeat)
{
keepalive = false;
continue;
} //循环所有在线连接
foreach (Client item in clients)
{
//向所有在线连接发送当前连接加入消息
sendToClient(item, "JOIN|" + infoArr[]);
} //新连接的网络地址
EndPoint ep = client.RemoteEndPoint;
//新建一个客户端连接
Client newCl = new Client(infoArr[], ep, clientservice, client);
//添加到在线列表中
clients.Add(newCl); //向新连接发送在线列表
sendToClient(newCl, "LIST|" + getChatterList()); //将新连接添加到服务器当前连接列表中
new Thread(delegate() { handerListBox(string.Format("{0}|{1}", newCl.Name, newCl.ClHost.ToString()), "add"); }).Start();
} //CHAT:发送全局消息,所有其他连接都可以接收到。发送格式:CHAT|发送者名称|信息内容
if (type == "CHAT")
{
//找出所有在线连接并发送消息
foreach (Client item in clients)
{
//发送消息
sendToClient(item, infoStr);
}
} //PRIV:发送私聊信息。发送格式:PRIV|发送者名称|信息内容|接受者名称
if (type == "PRIV")
{
//找出接受者和发送者发送消息
foreach (Client item in clients)
{
//如果是接受者或者是发送者
if (item.Name == infoArr[] || item.Name == infoArr[])
{
//发送消息
sendToClient(item, infoStr);
}
}
} //GONE 退出。发送格式:GONE|发送者名称
if (type == "GONE")
{
//是否存在
bool found = false;
//连接名称
string clientname = "";
//在在线集合中索引
int index = ;
int i = ; //循环所有连接
foreach (Client item in clients)
{
//如果是退出者
if (item.Name == infoArr[])
{
//发送确认退出信息
sendToClient(item, "QUIT|");
//获取连接名称
clientname = item.Name + "|" + item.ClHost.ToString();
found = true;
index = i;
}
//不是退出者
else
{
//发送消息
sendToClient(item, infoStr);
}
i++;
} //已退出
if (found)
{
//创建从服务器在线列表移除退出连接线程
new Thread(delegate() { delItem(clientname); }).Start();
//从集合中删除连接
clients.RemoveAt(index);
//改变存活状态
keepalive = false;
}
} }
catch (Exception ex)
{
//创建设置状态文本线程
new Thread(delegate() { setErrorText(ex.Message); }).Start();
keepalive = false;
}
}
} /// <summary>
/// 发送消息到客户端
/// </summary>
/// <param name="cl">客户端</param>
/// <param name="msg">要发送的消息,其中包含了消息类型</param>
private void sendToClient(Client cl, string msg)
{
//将消息转为字节数组
Byte[] byMsg = Encoding.UTF8.GetBytes(msg);
//获取客户端连接
Socket clSocket = cl.ClSock;
//如果还在连接状态
if (clSocket.Connected)
{
//发送消息
clSocket.Send(byMsg, byMsg.Length, );
}
} /// <summary>
/// 输出信息
/// </summary>
/// <param name="msg">信息文本</param>
private void setText(string msg)
{
//不是当前线程调用
if (rtbInfo.InvokeRequired)
{
MyInvoke _myInvoke = new MyInvoke(setText);
Invoke(_myInvoke, new object[] { msg });
}
else
{
rtbInfo.AppendText(string.Format("\n{0} {1}", msg, DateTime.Now));
}
} /// <summary>
/// 输出错误信息
/// </summary>
/// <param name="msg">信息文本</param>
private void setErrorText(string msg)
{
//不是当前线程调用
if (rtbInfo.InvokeRequired)
{
MyInvoke _myInvoke = new MyInvoke(setErrorText);
Invoke(_myInvoke, new object[] { msg });
}
else
{
rtbError.AppendText(string.Format("\n异常:{0} {1}", msg, DateTime.Now));
}
} /// <summary>
/// 添加或删除当前连接客户端
/// </summary>
/// <param name="c">客户端信息</param>
/// <param name="o">操作</param>
private void handerListBox(string c, string o)
{
//如果是其他线程调用
if (lbClients.InvokeRequired)
{
//委托
MyInvoke _myInvoke;
//要执行的操作
if (o == "add")
{
_myInvoke = new MyInvoke(addItem);
}
else
{
_myInvoke = new MyInvoke(delItem);
}
Invoke(_myInvoke, new object[] { c });
}
} /// <summary>
/// 在当前连接列表中删除一个连接
/// </summary>
/// <param name="c"></param>
private void delItem(string c)
{
this.lbClients.Items.Remove(c);
} /// <summary>
/// 在当前连接列表中新建一个连接
/// </summary>
/// <param name="c"></param>
private void addItem(string c)
{
this.lbClients.Items.Add(c);
} /// <summary>
/// 获取当前连接集合
/// </summary>
/// <returns></returns>
private string getChatterList()
{
StringBuilder sb = new StringBuilder();
foreach (Client item in clients)
{
sb.Append(item.Name);
sb.Append("|");
} return sb.Length > ? sb.ToString().TrimEnd('|') : "";
} /// <summary>
/// 获取本机ip
/// </summary>
/// <returns></returns>
private IPAddress GetIPAddress()
{
String hostName = Dns.GetHostName();
IPAddress[] myIP = Dns.GetHostAddresses(hostName);
foreach (IPAddress address in myIP)
{
if (address.AddressFamily.ToString() == "InterNetwork")
{
return address;
}
}
return IPAddress.None;
} /// <summary>
/// 端口是否被占用
/// </summary>
/// <param name="port"></param>
/// <returns></returns>
private static bool portInUse(int port)
{
bool inUse = false;
IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners(); foreach (IPEndPoint endPoint in ipEndPoints)
{
if (endPoint.Port == port)
{
inUse = true;
break;
}
}
return inUse;
} #endregion #region 页面Load事件 private void ServerForm_Load(object sender, EventArgs e)
{
//实例化当前连接集合
clients = new List<Client>();
lblAdress.Text = GetIPAddress().ToString();
} #endregion #region 页面控件事件
private void btnStart_Click(object sender, EventArgs e)
{
try { int.Parse(nudPort.Value.ToString()); }
catch { MessageBox.Show("端口号错误!"); return; }
if (portInUse(int.Parse(nudPort.Value.ToString())))
{
MessageBox.Show("该端口号已被占用!");
return;
} btnStart.Enabled = false;
try
{
//创建监听线程
threadListen = new Thread(StartListening);
threadListen.IsBackground = true;
//启动线程
threadListen.Start();
//创建设置状态文本线程
new Thread(delegate() { setText("服务器正在监听..."); }).Start();
lblRunTime.Text = DateTime.Now.ToString();
}
catch (Exception ex)
{
//创建设置状态文本线程
new Thread(delegate() { setErrorText(ex.Message); }).Start();
}
} private void ServerForm_FormClosed(object sender, FormClosedEventArgs e)
{
if (clients != null) clients.Clear();
if (listener != null) listener.Stop();
if (threadListen != null && threadListen.IsAlive) threadListen.Abort();
GC.Collect();
GC.WaitForPendingFinalizers();
} private void rtbInfo_TextChanged(object sender, EventArgs e)
{
rtbInfo.ScrollToCaret();
} private void rtbError_TextChanged(object sender, EventArgs e)
{
rtbError.ScrollToCaret();
} #endregion

客户端:

aaarticlea/png;base64,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NAk1vUuid00nTxebWOcS65xinVOsdYq1zql5E2WcJn2TC8yRder0CZd/SRdVpHWJdO4pnUds8E4bfBJTIPZzfeaQzEItfPUXkllCUnNIag5JzKH4TwMGRAa/SO+b1HqEWo9Q65nUuie1bpHOIzb4po0BqTkoiz+ertwWwTDSpmA8JTV72mYSU2WcIzb1vGkcMxrn3LSZpqPmmpt+blG9K2pwRQ3urDMm5kmZKe+Zl2pepjN4ohmbnanWSbdYq6z+Dz4+v/0HT29/7OntP3j6gR/8/IEf/nzHj57Z8aNfPPijXzz4419i2OL2k1+W/uRXpT/99UM//e+HfvbfDz/+7M7Hf7Pried2Pfn87j1743thWRb763bt2bvzyb07n3j+4Seef+jx50p/9psHf/rsjp/8944f/3rHj3+948e/evDHv3rwJ79+6GfPPvw4dTlfeOSpFx556oVHn96HYRi2tCs7W5cx2LFaf/36bwciV+bXWm8P7PjRM24AAAC4+h59ep/ZG51/VjwQ+SRTrWXJtf7FSl94AACAz4T5taaWudbDMveQ1DmAWgMAACwj+rV+ELUGAABYFkxq/cuVvvAAAACfCQxq/WPUGgAAYDmg1gAAAKRbdK0HUWsAAIDlhVoDAACQLv9a+0ZQawAAgJWQV63ZqDUAAMDKWbjWftQaAABgRS2q1h7UGgAAYPnlW+tR1BoAABg41T2582jHna83Fsp2Hu041T250v9sMfnVWpVS637UGgCKzpRY0tnVV13bjOVYZ1fflFhC45/35GXh3cf77uN4Nk5HC2X3cTx3H+87eVm45J9sNFC15uZda9egBLWGz5wV/xJJyFb643B1aXVWi939KeRksbtlKiONf97SI+33cT3PKCLewvGMInIf11N6pH3JP9loSNSaGmo9B99o5zPa32gXlura5pX+IrnyPgu1Xul/48JAr9Z3vt64URxd6f4u2kZx9M7XG5f8k42GR5/eZ/bM1ZqbV63Fts9CrfGNdj5of6NdWIq11tW1zbN5oP73UWugMKm1p9AQV2ttOC3YWWs9IHF8dmr96aefrvSlIB3tq25hKe5a5z62QK0hDZNa03jDkpKSBV8y/+XZXmexSKx1arAz13oItYZUtK+6aTJetWhf30oyYXLxErVOvLfEVy56LyFEdW1zNBp1Jdm287euVNFolIRaL/gRZP7V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" alt="" />

         #region 属性

         //NetWorkStream
NetworkStream ns;
//数据流
StreamReader sr;
//客户端连接
TcpClient clientsocket;
//是否连接
Boolean connected;
//接受信息线程
Thread receive;
//服务器网络地址
String serveraddress = "192.168.1.45";
//服务器端口号
Int32 serverport = ;
//客户端连接名称
String clientname;
//实现操纵其他线程委托
public delegate void MyInvoke(string c); #endregion #region 自定义事件 /// <summary>
/// 连接到服务器(连接端口)
/// </summary>
public void EstablishConnection()
{
//设置状态栏
setState("正在连接到服务器...");
try
{
//根据网络地址和端口号获取服务器连接
clientsocket = new TcpClient(serveraddress, serverport);
//获取发送和接受数据的NetWorkStream
ns = clientsocket.GetStream();
//为NetworkStream 初始化StreamReader实例
sr = new StreamReader(ns);
//连接成功
connected = true;
}
catch (Exception ex)
{
setErrorText(ex.Message);
setState("连接出错,连接已断开!");
}
} /// <summary>
/// 注册到服务器(注册数据)
/// </summary>
public void RegisterWithServer()
{
//获取用户名
clientname = txtAccount.Text.Trim();
//清空当前连接列表
lbClients.Items.Clear(); try
{
//消息内容
string command = "CONN|" + clientname;
//转为字节数组
Byte[] byMsg = Encoding.UTF8.GetBytes(command.ToCharArray());
//写入流
ns.Write(byMsg, , byMsg.Length);
//接受消息数组
Byte[] byInfo = new Byte[];
//读取数据到数组
ns.Read(byInfo, , byInfo.Length);
//转为字符串
string returnInfo = Encoding.UTF8.GetString(byInfo).Trim(new char[] { '\0', '\r' }).TrimEnd('|');
//分割出信息
string[] infoArr = returnInfo.Split('|');
//LIST:返回所有连接到服务器的客户端连接。发送格式:LIST|客户端名称|客户端名称|...
if (infoArr[] == "LIST")
{
//加入连接列表
for (int i = ; i < infoArr.Length; i++)
{
//将信息逐条添加到列表中
lbClients.Items.Add(infoArr[i].Trim());
}
//改变状态栏信息
setState(string.Format("{0}已连接到服务器!", clientname)); //改变页面控件状态
txtAccount.Enabled = false;
btnLink.Enabled = false;
btnSendMsg.Enabled = true;
} //ERROR:错误消息
if (infoArr[] == "ERROR")
{
//断开连接
connected = false;
//改变页面控件状态
txtAccount.Enabled = true;
btnLink.Enabled = true;
btnSendMsg.Enabled = false;
throw new Exception(infoArr[]);
}
}
catch (Exception ex)
{
setErrorText(ex.Message);
setState("注册出错,连接已断开!");
connected = false;
}
} /// <summary>
/// 接受服务器消息
/// </summary>
public void ReceiveChat()
{
//保持连接状态
bool keepalive = true;
while (keepalive)
{
try
{
//接受消息数组
Byte[] byInfo = new Byte[];
//读取数据到数组
ns.Read(byInfo, , byInfo.Length);
//转为字符串
string infoStr = Encoding.UTF8.GetString(byInfo).Trim(new char[] { '\r', '\0' }).TrimEnd('|');
//分割
string[] infoArr = infoStr.Split('|');
//消息类型
string type = infoArr[]; //CHAT:是否为群发消息
if (type == "CHAT")
{
//显示消息
new Thread(delegate()
{
setText(string.Format("{0}:{1}", infoArr[], infoArr[].Trim()));
}).Start();
} //PRIV:是否为私聊消息
if (type == "PRIV")
{
//在消息面板上显示:信息来自
new Thread(delegate()
{
setText(string.Format("来自【{0}】的私信:{1}", infoArr[], infoArr[].Trim()));
}).Start();
} //JOIN:是否添加新连接消息
if (type == "JOIN")
{
//显示加入消息并添加到当前在线连接
new Thread(delegate()
{
setText(string.Format("【{0}】加入房间!", infoArr[].Trim()));
handerListBox(infoArr[].Trim(new char[] { '\r', '\n' }), "add");
}).Start();
} //GONE:是否为退出消息
if (type == "GONE")
{
//显示加入消息并添加到当前在线连接
new Thread(delegate()
{
setText(string.Format("【{0}】离开房间!", infoArr[].Trim()));
handerListBox(infoArr[].Trim(), "del");
}).Start();
} //QUIT:此客户端退出
if (type == "QUIT")
{
//停止接收消息
keepalive = false;
//提示消息线程
new Thread(delegate() { setState("连接已断开"); }).Start();
//断开连接
connected = false;
}
}
catch (Exception ex)
{
setErrorText(ex.Message);
keepalive = false;
}
} //判断线程是否为活动的
if (!connected && receive != null && receive.IsAlive)
//如果是则中止线程
receive.Abort();
} /// <summary>
/// 退出服务器端
/// </summary>
public void QuitChat()
{
//判断是否为连接状态
if (connected)
{
try
{
//创建消息
string command = "GONE|" + clientname;
//将消息转化为字节流
Byte[] outbytes = Encoding.UTF8.GetBytes(command.ToCharArray());
//将消息发送给NetWorkStream
ns.Write(outbytes, , outbytes.Length);
}
catch (Exception e)
{
setErrorText(e.Message);
}
}
if (receive != null && receive.IsAlive) receive.Abort();
if (ns != null) { ns.Close(); ns.Dispose(); }
if (sr != null) { sr.Close(); sr.Dispose(); }
if (clientsocket != null) clientsocket.Close();
GC.Collect();
GC.WaitForPendingFinalizers();
} /// <summary>
/// 操作当前连接列表
/// </summary>
/// <param name="c">客户端信息</param>
/// <param name="o">操作</param>
private void handerListBox(string c, string o)
{
//判断是否是创建控件的线程调用
if (this.lbClients.InvokeRequired)
{
//创建委托
MyInvoke invoke;
if (o == "add")
invoke = new MyInvoke(addItem);
else
invoke = new MyInvoke(delItem);
//执行委托
Invoke(invoke, new object[] { c });
}
}
/// <summary>
/// 添加连接
/// </summary>
/// <param name="c"></param>
private void addItem(string c)
{
this.lbClients.Items.Add(c);
}
/// <summary>
/// 删除连接
/// </summary>
/// <param name="c"></param>
private void delItem(string c)
{
this.lbClients.Items.Remove(c);
} /// <summary>
/// 输出信息
/// </summary>
/// <param name="msg">信息文本</param>
private void setText(string msg)
{
//不是当前线程调用
if (rtbInfo.InvokeRequired)
{
MyInvoke _myInvoke = new MyInvoke(setText);
Invoke(_myInvoke, msg);
}
else
{
rtbInfo.AppendText(string.Format("\n{0} {1}", msg, DateTime.Now));
}
} /// <summary>
/// 输出错误信息
/// </summary>
/// <param name="msg">信息文本</param>
private void setErrorText(string msg)
{
//不是当前线程调用
if (rtbInfo.InvokeRequired)
{
MyInvoke _myInvoke = new MyInvoke(setErrorText);
Invoke(_myInvoke, new object[] { msg });
}
else
{
rtbError.AppendText(string.Format("\n异常:{0} {1}", msg, DateTime.Now));
}
} /// <summary>
/// 设置状态栏信息
/// </summary>
/// <param name="c"></param>
private void setState(string c)
{
//判断是否是创建控件的线程调用
if (this.ssState.InvokeRequired)
{
MyInvoke invoke = new MyInvoke(setState);
this.Invoke(invoke, new object[] { c });
}
else
{
this.tsslInfo.Text = c;
}
} /// <summary>
/// 判断此用户是否存在
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
private bool nameIsHave(string name)
{
for (int i = ; i < lbClients.Items.Count; i++)
{
if (name == lbClients.Items[i].ToString())
{
return true;
}
}
return false;
} #endregion #region 页面Load事件 private void ClientForm_Load(object sender, EventArgs e)
{
btnSendMsg.Enabled = false;
txtIp.ReadOnly = true;
} #endregion #region 页面控件事件 /// <summary>
/// 连接服务器
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnLink_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtAccount.Text.Trim()))
{
MessageBox.Show("请填写你的聊天用户名!");
return;
} try { int.Parse(nudPort.Value.ToString()); }
catch { MessageBox.Show("端口号错误!"); return; } serveraddress = txtIp.Text.Trim();
serverport = int.Parse(nudPort.Value.ToString()); //连接服务器
EstablishConnection();
//注册
RegisterWithServer(); //连接成功
if (connected)
{
//接受信息线程
receive = new Thread(new ThreadStart(ReceiveChat));
//启动线程
receive.Start();
}
} /// <summary>
/// 发送消息
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSendMsg_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(txtMsg.Text.Trim()))
{
MessageBox.Show("消息内容不能为空!");
return;
}
//连接成功
if (connected)
{
try
{
string command = txtMsg.Text.Trim(); //私聊名开始结束位置
int start = command.IndexOf('@');
int end = command.LastIndexOf('@');
//私聊名
string rName = (start != - && end != -) ? command.Substring(start + , end - ) : "";
//有@并且名称在系统中 为私聊
if (!string.IsNullOrEmpty(rName) && nameIsHave(rName))
{
//创建私聊
command = string.Format("PRIV|{0}|{1}|{2}", clientname, command.Substring(end + , command.Length - end-), rName);
}
else
{
//创建群发信息
command = string.Format("CHAT|{0}|{1}", clientname, command);
} //转化为字节流
Byte[] outbytes = Encoding.UTF8.GetBytes(command.ToCharArray());
//发送信息
ns.Write(outbytes, , outbytes.Length);
txtMsg.Text = "";
}
catch (Exception ex)
{
setErrorText(ex.Message);
}
}
} /// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void ClientForm_FormClosed(object sender, FormClosedEventArgs e)
{
QuitChat();
} private void rtbInfo_TextChanged(object sender, EventArgs e)
{
rtbInfo.ScrollToCaret();
} private void rtbError_TextChanged(object sender, EventArgs e)
{
rtbError.ScrollToCaret();
} #endregion

图例

aaarticlea/png;base64,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" alt="" />

aaarticlea/png;base64,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" alt="" />

Socket聊天室-TcpListener,TcpClient的更多相关文章

  1. Java Socket聊天室编程(二)之利用socket实现单聊聊天室

    这篇文章主要介绍了Java Socket聊天室编程(二)之利用socket实现单聊聊天室的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在上篇文章Java Socket聊天室编程(一)之 ...

  2. Java Socket聊天室编程(一)之利用socket实现聊天之消息推送

    这篇文章主要介绍了Java Socket聊天室编程(一)之利用socket实现聊天之消息推送的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 网上已经有很多利用socket实现聊天的例子了 ...

  3. python socket 聊天室

    socket 发送的时候,使用的是全双工的形式,不是半双工的形式.全双工就是类似于电话,可以一直通信.并且,在发送后,如果又接受数据,那么在这个接受到数据之前,整个过程是不会停止的.会进行堵塞,堵塞就 ...

  4. TCP/IP以及Socket聊天室带类库源码分享

    TCP/IP以及Socket聊天室带类库源码分享 最近遇到个设备,需要去和客户的软件做一个网络通信交互,一般的我们的上位机都是作为客户端来和设备通信的,这次要作为服务端来监听客户端,在这个背景下,我查 ...

  5. 【Unity3D自学记录】Unity3D网络之Socket聊天室初探

    首先创建一个服务端程序,这个程序就用VS的控制台程序做即可了. 代码例如以下: using System; using System.Collections.Generic; using System ...

  6. 【socket】一分钟理清 socket udpsocket tcpsocket tcplistener TCPClient和 UDPClient

    socket 套接字接口是各种语言tcp udp的网络操作的基础. 直接用socket 对象开发 可以选择 udpsocket  或者 tcpsocket ,两者在使用上仅一些方法和参数不同,所有的底 ...

  7. html5 WebSocket 与 PHP socket 聊天室原理

    html js <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  8. 基于Spring 4.0 的 Web Socket 聊天室/游戏服务端简单架构

    在现在很多业务场景(比如聊天室),又或者是手机端的一些online游戏,都需要做到实时通信,那怎么来进行双向通信呢,总不见得用曾经很破旧的ajax每隔10秒或者每隔20秒来请求吧,我的天呐(),这尼玛 ...

  9. Python socket聊天室程序

    http://blog.csdn.net/calling_wisdom/article/details/42524745 今天用python的socket模块实现了一个聊天室的程序 虽然功能比较简单, ...

随机推荐

  1. mysqld设置密码

    用root 进入mysql后 mysql>set password =password('你的密码'); mysql>flush privileges;   登录: mysql -u ro ...

  2. Qt 之 饼图

    Qt 库由许多模块组成,其中的 Qt Charts,包含了一系列图表组件. 1  饼图 (pie chart) 1.1  Charts 模块 .pro 中添加如下语句: QT += charts 头文 ...

  3. .dmp文件导入个别表

    imp bizinfo_qy/bizinfo_qy@orcl161 file=D:\收付费核算系统\分线\bizinfo_qy.dmp log=bizinfo_qy.log  TABLES=(al_i ...

  4. 【Android开发】 第一课 环境搭建教程

    Windows 开发环境部署: Android Studio 中文社区:http://www.android-studio.org/ 本教程将分为五个步骤来完成Android开发环境的部署. 第一步: ...

  5. 深入分析 Java 中的中文编码问题(转)

    几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码?我们能不能不编码?要回答这个问题必须要回到计算机是如何表示我们人类能够理解的符号的,这些符号也就是我们人类使用的语言 ...

  6. 自己python程序的并行修改

    遇到运算量大的程序,学习了下python并行运算的方法,在自己的程序上进行了修改,看看是否可以增加效率.原始代码是: import gt_apps as my_apps f=file('sample. ...

  7. 201521123118《java程序与设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容 2. 书面作业 1. 互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synch ...

  8. mongo2csv

    #!/usr/bin/env python3 import pymongo import datetime import os yesterday = str(datetime.date.today( ...

  9. [原]OpenGL基础教程(一)多边形绘制

    1.opengl开发环境搭建 参考http://brothergrup.iteye.com/blog/1602471 2.为三角形填充颜色: 填充颜色函数为glColor(3/4)*(r,g,b)  ...

  10. Pro Git读书笔记 - 分支

    Git 分支介绍. 几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线. 在很多版本控制系统中,这是一个略微低效的过程--常常需要完全创 ...