客户端: try
{
TcpClient client = new TcpClient();
try
{
client.Connect("127.0.0.1", 8500); // 与服务器连接
}
catch (Exception ex) { Console.WriteLine(ex.Message); return; }
// 打印连接到的服务端信息
t.AppendText("Client Connected!Client:" + client.Client.LocalEndPoint + " <-- Server:" + client.Client.RemoteEndPoint);
//Hour_Result[] hr = dbc.StreamCount(rili + (Convert.ToInt32(ch) - 1) + "0000",rili+Convert.ToInt32(ch) + "0000");
Hour_Result[] hr = dbc.StreamCount("20100101010000", "20100101020000");
for (int i = 0; i < hr.Length; i++)
{
string sendStr = hr[i].SiteCode + "," + hr[i].Ip + "," + hr[i].Date + "," + hr[i].Result + "," + hr[i].Hour + ";";
NetworkStream streamToServer = client.GetStream();
byte[] buffer = Encoding.Unicode.GetBytes(sendStr); // 获得缓存
streamToServer.Write(buffer, 0, buffer.Length); // 发往服务器
}
t.AppendText("\n");
}
catch (Exception er)
{
return;
}服务端: IPAddress ip = IPAddress.Parse("127.0.0.1");
int port = getBindPort();
listener = new TcpListener(ip, 8500);
listener.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
Listener.Start(); // 开始侦听
sh.getConnection();
do
{
// 获取一个连接,中断方法
TcpClient remoteclient = listener.AcceptTcpClient();
// 打印连接到的客户端信息
t.AppendText("client connected!server:" + remoteclient.Client.LocalEndPoint + ",client:" + remoteclient.Client.RemoteEndPoint + "\n");
// 获得流,并写入buffer中
NetworkStream streamtoclient = remoteclient.GetStream();
byte[] buffer = new byte[BufferSize];
int bytesread = streamtoclient.Read(buffer, 0, BufferSize);
// 获得请求的字符串
string msg = Encoding.Unicode.GetString(buffer, 0, bytesread);
DataObj da = new DataObj();
da = dc.getDataObject(dc.getStr(msg)[0]);
t.AppendText("sitecode=" + da.Sitecode + "时间:" + time.ToString("yyyy-mm-dd") + "[" + time.ToString("hh:mm:ss") + "]");
if (sh.insertStream(da)) { t.AppendText("插入数据成功\n"); } else { t.AppendText("插入数据失败\n"); }
} while (true);现在不知道怎么的不能从连接中读出数据啦,帮忙解决下,谢谢啦
{
TcpClient client = new TcpClient();
try
{
client.Connect("127.0.0.1", 8500); // 与服务器连接
}
catch (Exception ex) { Console.WriteLine(ex.Message); return; }
// 打印连接到的服务端信息
t.AppendText("Client Connected!Client:" + client.Client.LocalEndPoint + " <-- Server:" + client.Client.RemoteEndPoint);
//Hour_Result[] hr = dbc.StreamCount(rili + (Convert.ToInt32(ch) - 1) + "0000",rili+Convert.ToInt32(ch) + "0000");
Hour_Result[] hr = dbc.StreamCount("20100101010000", "20100101020000");
for (int i = 0; i < hr.Length; i++)
{
string sendStr = hr[i].SiteCode + "," + hr[i].Ip + "," + hr[i].Date + "," + hr[i].Result + "," + hr[i].Hour + ";";
NetworkStream streamToServer = client.GetStream();
byte[] buffer = Encoding.Unicode.GetBytes(sendStr); // 获得缓存
streamToServer.Write(buffer, 0, buffer.Length); // 发往服务器
}
t.AppendText("\n");
}
catch (Exception er)
{
return;
}服务端: IPAddress ip = IPAddress.Parse("127.0.0.1");
int port = getBindPort();
listener = new TcpListener(ip, 8500);
listener.Server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
Listener.Start(); // 开始侦听
sh.getConnection();
do
{
// 获取一个连接,中断方法
TcpClient remoteclient = listener.AcceptTcpClient();
// 打印连接到的客户端信息
t.AppendText("client connected!server:" + remoteclient.Client.LocalEndPoint + ",client:" + remoteclient.Client.RemoteEndPoint + "\n");
// 获得流,并写入buffer中
NetworkStream streamtoclient = remoteclient.GetStream();
byte[] buffer = new byte[BufferSize];
int bytesread = streamtoclient.Read(buffer, 0, BufferSize);
// 获得请求的字符串
string msg = Encoding.Unicode.GetString(buffer, 0, bytesread);
DataObj da = new DataObj();
da = dc.getDataObject(dc.getStr(msg)[0]);
t.AppendText("sitecode=" + da.Sitecode + "时间:" + time.ToString("yyyy-mm-dd") + "[" + time.ToString("hh:mm:ss") + "]");
if (sh.insertStream(da)) { t.AppendText("插入数据成功\n"); } else { t.AppendText("插入数据失败\n"); }
} while (true);现在不知道怎么的不能从连接中读出数据啦,帮忙解决下,谢谢啦
private delegate void appendtextTOt(string msg);
//显示信息的方法
private void displaymsg(string msg)
{
if (t.InvokeRequired == true)
{
Invoke(new appendtextTOt(displaymsg), new object[] { msg });
}
else
{
t.Appendtext(msg);
}
}
用displaymsg(msg);替换你的t.Appendtext("..........");msg代表“.........”