private void btnStartServer_Click(object sender, EventArgs e) { btnStartServer.Enabled = false; String ip = mtbIP.Text.Trim().Replace(" ", ""); String portStr = tbIP.Text.Trim(); if (Util.checkIP(ip, portStr)) { msg = new MsgCtrl(ip, Int32.Parse(portStr), 1); msg.sendMsg("客户端连接", Util.SYSCONN); try { String[] temp = msg.reciveMsg(); }catch (Exception ex) { MessageBox.Show("连接不到指定服务器"); btnStartServer.Enabled = true; msg.Close(); return; } btnSend.Enabled = true; btnSendMsg.Enabled = true; ThreadStart ts = new ThreadStart(listenMsg); Util.newThread(ts); } else { MessageBox.Show("请输入有效地址和端口"); } }
private void btnSend_Click(object sender, EventArgs e) { if (openFile.ShowDialog() == DialogResult.OK) { String fullPath = openFile.FileName; FileInfo f = new FileInfo(openFile.FileName); int point = fullPath.LastIndexOf('\\') + 1; filePath = fullPath.Substring(0, point); fileName = fullPath.Substring(point, fullPath.Length - point); /*文件信息 文件名*文件长度*/ msg.sendMsg(fileName + "*" + f.Length, Util.FILEINFO); lblFileName.Text = fileName; lblFileSize.Text = f.Length.ToString(); btnStopSend.Enabled = true; btnSend.Enabled = false; } }
private void listenMsg() { while (true) { String[] msgArray = msg.reciveMsg(); int p = Int32.Parse(msgArray[0]); switch (p) { case Util.SYS: m_SyncContext.Post(appendMsg, DateTime.Now + "\r\n系统消息:" + msgArray[1] + "\r\n"); break; case Util.FILEINFO: setAndStartFileinfo(msgArray[1]); break; case Util.USER: m_SyncContext.Post(appendMsg, DateTime.Now + "\r\n用户消息:" + msgArray[1] + "\r\n"); break; case Util.FILESTOP: m_SyncContext.Post(appendMsg, DateTime.Now + "\r\n系统消息:文件传输终止" + "\r\n"); m_SyncContext.Post(toggleBtnStopEnable, 0); fileRev.stopSend(); break; case Util.FILESENDOK: m_SyncContext.Post(toggleBtnStopEnable, 0); m_SyncContext.Post(appendMsg, DateTime.Now + "\r\n系统消息:文件传输完成" + "\r\n"); break; case Util.SYSCONN: m_SyncContext.Post(appendMsg, DateTime.Now + "\r\n系统消息:" + msgArray[1] + "\r\n"); msg.sendMsg("服务器已连接", Util.SYSCONNOK); break; } } }