[問題] 網路傳圖檔問題
server端
private void button1_Click(object sender, EventArgs e)
{
IPEndPoint ipe = new IPEndPoint(IPAddress.Any, 12345);
Socket s = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
s.Bind(ipe);
s.Listen(100);
Socket c=s.Accept();
SaveFileDialog savepic = new SaveFileDialog();
savepic.Filter = "bmp ?(*.bmp)|*.bmp|" + "JPG ?(*.jpg)|*.jpg;*";
if (savepic.ShowDialog() == DialogResult.OK)
{
FileStream fs = new FileStream(savepic.FileName,
FileMode.Create);
StreamWriter sw = new StreamWriter(fs, Encoding.Default);
NetworkStream ns = new NetworkStream(c, true);
byte[] byteArray = new byte[1024];
while (ns.DataAvailable)
{
ns.Read(byteArray, 0, byteArray.Length);
string str =
System.Text.Encoding.Default.GetString(byteArray);
sw.Write(str);
}
sw.Flush();
c.Close();
}
}
client端
private void button1_Click_1(object sender, EventArgs e)
{
IPEndPoint ipe = new IPEndPoint(new IPAddress(new byte[] { 140,
118, 122, 88 }), 12345);
Socket s = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
s.Connect(ipe);
OpenFileDialog OpenPhoto = new OpenFileDialog();
OpenPhoto.Filter = "bmp ?(*.bmp)|*.bmp|" + "JPG ?(*.jpg)|*.jpg;*";
if (OpenPhoto.ShowDialog() == DialogResult.OK) //給予使用者設定讀
檔位置
{
FileStream fs = new FileStream(OpenPhoto.FileName,
FileMode.Open);
StreamReader sr = new StreamReader(fs, Encoding.Default);
String temp = sr.ReadToEnd();
NetworkStream ns= new NetworkStream(s,true);
byte[] byteArray =
System.Text.Encoding.Default.GetBytes(temp);
ns.Write(byteArray, 0, byteArray.Length);
ns.Flush();
}
}
不知為啥這個程式傳的跟讀取的圖檔大小都不一樣
還有有些部分用記事本開發現他有些空白鍵會換傳成?
不知是否有人知道這個程式碼哪邊有問題
謝謝各位大大
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.122.88
推
10/11 20:14, , 1F
10/11 20:14, 1F
→
10/12 00:48, , 2F
10/12 00:48, 2F