Socket:客户端收不到数据

t88266236 2008-05-29 08:44:56

服务器端:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.IO;

namespace ServerConsole
{
class Program
{
private TcpListener listener = null;
//private Thread serverThread = null;
//private Socket client = null;
static void Main(string[] args)
{
Program p = new Program();
//p.serverThread = new Thread(new ThreadStart(p.StartServer));
//p.serverThread.IsBackground = true;
//p.serverThread.Start();
p.StartServer();
Console.ReadLine();
}
private void StartServer()
{
Console.WriteLine("Server Started!");
listener = new TcpListener(IPAddress.Parse("192.168.0.1"), 10000);
listener.Start();
while (true)
{
Socket client = listener.AcceptSocket();
Console.WriteLine("{0} Connected!", ((IPEndPoint)client.RemoteEndPoint).Address.ToString());
NetworkStream stream = new NetworkStream(client);
StreamWriter writer = new StreamWriter(stream);
//StreamReader reader = new StreamReader("test.txt");
//string text = string.Empty;
string text = "this is a test";
//do
//{
//text = reader.ReadLine();
Console.WriteLine(text);
writer.Write(text);
writer.Flush();

//} while (text != null);
//client.Shutdown(SocketShutdown.Send);
//client.Close();
Console.WriteLine("Exiting....");
//reader.Close();
//writer.Close();
//stream.Close();

}
}

}
}
客户端:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Net;
using System.Net.Sockets;
using System.IO;

namespace ClientConsole
{
class Program
{
//private Thread clientThread = null;
//private TcpClient client = null;
private void ConnectToServer()
{
TcpClient client = new TcpClient("192.168.0.1", 10000);
if (client.Connected)
{
Console.WriteLine("Connected!");
NetworkStream stream = client.GetStream();
StreamReader reader = new StreamReader(stream);
string text = string.Empty;
do
{
text = reader.ReadLine();
Console.WriteLine(text);
}
while (text != null);
}
}
static void Main(string[] args)
{
Program p = new Program();
//p.clientThread = new Thread(new ThreadStart(p.ConnectToServer));
//p.clientThread.IsBackground = true;
//p.clientThread.Start();
p.ConnectToServer();
Console.ReadLine();
}
}
}
为什么客户端收不到数据呢?
...全文
159 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
t88266236 2008-05-29
  • 打赏
  • 举报
回复
.......
我也想哎一声,谢谢2楼
zzultc 2008-05-29
  • 打赏
  • 举报
回复
哎!
服务器发送字符串的时候是:writer.Write(text);
而在客户端,接受时候却是:text = reader.ReadLine();

你的服务器根本就没有发送换行符,你的接收端怎么能返回呢???
zhujiazhi 2008-05-29
  • 打赏
  • 举报
回复
貌似没看到server发送消息给client的

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧