每人都有分,帮忙看下,如何将这段socket基础的代码改下,谢谢. 本帖最后由 qcbf1 于 2011-04-27 13:22:17 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 class Program { private static int port = 9985; private static TcpListener tcplist; private static IPAddress ip = IPAddress.Parse("192.168.2.144"); private static Socket socket; static void Main(string[] args) { tcplist = new TcpListener(ip,port); tcplist.Start(); Console.WriteLine("{0}开始监听{1}端口!", ip, port); while(true) { socket = tcplist.AcceptSocket(); Thread user = new Thread(start); user.Start(); } Console.ReadKey(true); } static private void start() { Console.WriteLine("{0}-连接成功", socket.RemoteEndPoint); byte[] data = new byte[1024]; string back = string.Format("欢迎你{0}进入{1}!", socket.RemoteEndPoint, ip); byte[] backD = Encoding.UTF8.GetBytes(back); socket.Send(backD, backD.Length, SocketFlags.None); Int32 bytes = socket.Receive(data, data.Length, SocketFlags.None); string stream = Encoding.ASCII.GetString(data, 0, bytes); Console.WriteLine("{0}:{1}", socket.RemoteEndPoint, stream); try { socket.Send(data); } catch(Exception e) { Console.WriteLine("客户端已断开连接!"); Console.ReadKey(true); } } }这样可以一些,但是客户端发送的消息都服务端都发给最后一个连接的客户端的,还有就是还是那个每个客户端只能发送一条消息..... //while(true) //{去掉注释不就行了 VSS怎么同步到C#,团队开发 数据流传输中文乱码 C# 读取数据库中“上一条”“下一条”记录 richtextbox的字体问题 WinForm开发中ListBox控件问题 关于注册码生成中加密的疑问?请大伙给些意见 C#得到本地盘符名称 ~~~关于控件问题~~~急~~~~!!!!!!!!!!!! 大神们,救命呀!!! 对不起,我没分了,麻烦哪位回答我的问题。 这段代码为什么不执行 请问VisualStudio2010的XSD架构设计器能进行编辑吗?
class Program
{
private static int port = 9985;
private static TcpListener tcplist;
private static IPAddress ip = IPAddress.Parse("192.168.2.144");
private static Socket socket;
static void Main(string[] args)
{
tcplist = new TcpListener(ip,port);
tcplist.Start();
Console.WriteLine("{0}开始监听{1}端口!", ip, port);
while(true)
{
socket = tcplist.AcceptSocket();
Thread user = new Thread(start);
user.Start();
}
Console.ReadKey(true);
} static private void start()
{
Console.WriteLine("{0}-连接成功", socket.RemoteEndPoint); byte[] data = new byte[1024];
string back = string.Format("欢迎你{0}进入{1}!", socket.RemoteEndPoint, ip);
byte[] backD = Encoding.UTF8.GetBytes(back);
socket.Send(backD, backD.Length, SocketFlags.None); Int32 bytes = socket.Receive(data, data.Length, SocketFlags.None);
string stream = Encoding.ASCII.GetString(data, 0, bytes);
Console.WriteLine("{0}:{1}", socket.RemoteEndPoint, stream);
try
{
socket.Send(data);
}
catch(Exception e)
{
Console.WriteLine("客户端已断开连接!");
Console.ReadKey(true);
}
}
}
这样可以一些,但是客户端发送的消息都服务端都发给最后一个连接的客户端的,还有就是还是那个每个客户端只能发送一条消息.....
//{
去掉注释不就行了