110,535
社区成员
发帖
与我相关
我的任务
分享
//服务器开始监听客户端的请求
//开始监听某T端口
IPEndPoint thePoint = new IPEndPoint(IPAddress.Parse(txtIP.Text), int.Parse(txtPort.Text));
TCPConnection.StartListening(thePoint, false);
button1.Text = "监听中";
button1.Enabled = false;
//此方法中包含服务器具体的处理方法。
StartListening();
复制代码
NetworkComms.AppendGlobalIncomingPacketHandler<FileWrapper>("UploadFile", IncomingUploadFile);
//处理客户端发来的文件
private void IncomingUploadFile(PacketHeader header, Connection connection, FileWrapper wrapper)
{
try
{
writeFile(wrapper._fileData, @"D:\" + wrapper.FileName);
ResMsgContract contract = new ResMsgContract();
contract.Message = "上传成功";
//发送回复信息给客户端
connection.SendObject("ResUploadFile", contract);
}
catch (Exception ex)
{
}
}
private bool writeFile(byte[] pReadByte, string fileName)
{
FileStream pFileStream = null;
try
{
pFileStream = new FileStream(fileName, FileMode.OpenOrCreate);
pFileStream.Write(pReadByte, 0, pReadByte.Length);
}
catch
{
return false;
}
finally
{
if (pFileStream != null)
pFileStream.Close();
}
return true;[code=csharp]
//给连接信息对象赋值
connInfo = new ConnectionInfo(txtIP.Text, int.Parse(txtPort.Text));
//如果不成功,会弹出异常信息
newTcpConnection = TCPConnection.GetConnection(connInfo);
TCPConnection.StartListening(connInfo.LocalEndPoint);
button1.Enabled = false;
button1.Text = "连接成功";
private void button3_Click(object sender, EventArgs e)
{
openFileDialog2.Filter = "所有文件|*.*";
if (openFileDialog2.ShowDialog() == DialogResult.OK)
{
string shortFileName = System.IO.Path.GetFileName(openFileDialog2.FileName);
FileWrapper fileWrapper = new FileWrapper(shortFileName, ReadFile(openFileDialog2.FileName));
//发送图片包装类到服务器,并获取返回信息
ResMsgContract resMessage = newTcpConnection.SendReceiveObject<ResMsgContract>("UploadFile", "ResUploadFile", 8000, fileWrapper);
if (resMessage.Message == "上传成功")
{
MessageBox.Show("文件已经上传到服务器");
}
else
{
MessageBox.Show("文件没有发送成功");
}
}
}