C#socket通信问题 15
服务器端代码IPEndPointipep=newIPEndPoint(IPAddress.Any,int.Parse("2098"));//创建一个套接字Socketse...
服务器端代码
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, int.Parse("2098"));
//创建一个套接字
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//绑定套接字到端口
server.Bind(ipep);
//开始侦听(并堵塞该线程)
server.Listen(1);
//确认连接
Socket client = server.Accept();
//获得[文件名]
string SendFileName = System.Text.Encoding.Unicode.GetString(EzoneModule.ReceiveVarData(client));//ReceiveVarData()是用来接收的把Receive()方法扩展了一下
MessageBox.Show("文件名" + SendFileName);
//关闭套接字
client.Close();
客户端代码
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("192.168.11.166"), 2090);
//创建套接字
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
client.Connect(ipep);
CommonModule.EzoneModule.SendVarData(client, System.Text.Encoding.Unicode.GetBytes("data from client")); //SendVarData()是对send()方法扩展了
client.Close();
上面服务器和客户端代码是可以使用的。想向各位询问如何把数据从服务器端向客户端进行发送,根据代码服务器端需要监听连接请求,有连接后创建新的socket,但客户端没有这些,那如果要发送数据到客户端,客户端也需要建立监听这些吗?如果不需要那代码如何补充呢,我试了多次都没成功,请大家帮忙 展开
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, int.Parse("2098"));
//创建一个套接字
Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//绑定套接字到端口
server.Bind(ipep);
//开始侦听(并堵塞该线程)
server.Listen(1);
//确认连接
Socket client = server.Accept();
//获得[文件名]
string SendFileName = System.Text.Encoding.Unicode.GetString(EzoneModule.ReceiveVarData(client));//ReceiveVarData()是用来接收的把Receive()方法扩展了一下
MessageBox.Show("文件名" + SendFileName);
//关闭套接字
client.Close();
客户端代码
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("192.168.11.166"), 2090);
//创建套接字
Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
client.Connect(ipep);
CommonModule.EzoneModule.SendVarData(client, System.Text.Encoding.Unicode.GetBytes("data from client")); //SendVarData()是对send()方法扩展了
client.Close();
上面服务器和客户端代码是可以使用的。想向各位询问如何把数据从服务器端向客户端进行发送,根据代码服务器端需要监听连接请求,有连接后创建新的socket,但客户端没有这些,那如果要发送数据到客户端,客户端也需要建立监听这些吗?如果不需要那代码如何补充呢,我试了多次都没成功,请大家帮忙 展开
展开全部
TCP是面向连接的,服务端接收到连接(Socket client = server.Accept() )后,表示连接已经建立好,就可以相互通讯了。服务端用Accept到的client发送消息就行了,客户端不需要再Listen,直接Receive消息就行了(用你建立连接的Socket接收)。客户端发完消息不要关闭掉,用它来接收服务端的消息
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询