热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于C#中Socket通信中,服务端如何使用客户端和服务端建立的现有连接(也就是现有socket进行通信)

我现在就是客户端可以给服务端发信息,但是,不知道怎么给他回信息(前提条件不是建立新的连接)。。。急需要知道原因啊!!!快来帮忙啊!
我现在就是客户端可以给服务端发信息,但是,不知道怎么给他回信息(前提条件不是建立新的连接)。。。
急需要知道原因啊!!!
快来帮忙啊!

4 个解决方案

#1


人呢!快啊。。。。在公司急用。以前没接触过

#2


你请的回信息是服务器端给客户端回吧,你服务器端监听,接收到数据时,可以重新写一组数据,然后send回去,代码参考如下:
 static void Main(string[] args)
        {
            Socket client;
            int recv;
            //byte[] message = new byte[1024];
            Socket ServerSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
            IPAddress adr = IPAddress.Parse("127.0.0.1");
            IPEndPoint ep = new IPEndPoint(adr, 3000);

            ServerSocket.Bind(ep); //类似于客户机的connect()方法
            ServerSocket.Listen(3); //开始监听

            while (true)
            {
                if ((client = ServerSocket.Accept()) != null)
                {
                    Console.WriteLine("连接上...发送数据....");
                    //欲发送的字节数组,以0为结束标记 

                    byte[] message = { 10, 20, 30, 40, 50, 60, 0 };
                    //send方法返回发送的字节数
                    Console.WriteLine("总计将发送" + client.Send(message) + "个字节的数据");
                    Console.WriteLine("结束.");
                    client.Close();
                    break;
                } 

#3


服务器端把那个建立的连接对象保存一下,就可以了啊。就是在serverSocket.Accept()时返回的那个Socket对象保存了,即可。

#4


引用 2 楼 qingxukang 的回复:
你请的回信息是服务器端给客户端回吧,你服务器端监听,接收到数据时,可以重新写一组数据,然后send回去,代码参考如下:
 static void Main(string[] args)
        {
            Socket client;
            int recv;
            //byte[] message = new byte[102……

我自己解决了,谢谢

推荐阅读
author-avatar
欠你的情意
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有