asp.net与WinForm之间socket通信的问题
我想实现的功能是:在aspx页面点击发送按钮后,可以在winform界面的richtextbox中显示发送的消息,现在遇到的问题是点击aspx页面的连接后,可以连接成功,但点击发送按钮,服务器端却不显示发送的数据!!求解啊
winform服务器端代码:
private void button1_Click(object sender, EventArgs e)
{
IPAddress ip = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
//步骤1 创建网络端点IPEndPoint
IPEndPoint myServer = new IPEndPoint(ip, 888);
//步骤2 创建套接字Socket
s1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//步骤3 套接字绑定到网络端点
s1.Bind(myServer);
label1.Text = ip+": 888 \n等待客户端连接......";
th = new Thread(new ThreadStart(AA));
th.Start();
}
void AA()
{
//步骤4 监听
s1.Listen(5);
//步骤5 接受客户端连接
s2 = s1.Accept();
//步骤6 判断连接状态
if (s2.Connected)
{
label1.Text = "已有客户端连接!";
//步骤7 循环接收客户端消息
while (true)
{
byte[] bb = new byte[1024];
int i = s2.Receive(bb);
string removeMsg = Encoding.Unicode.GetString(bb, 0, i);
label1.Text = removeMsg;
richTextBox1.AppendText(removeMsg + "++");
richTextBox1.ScrollToCaret();
}
}
else
{
MessageBox.Show("FAIL");
}
}
Socket socket;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
IPAddress ip = IPAddress.Parse("192.168.1.10");
IPEndPoint removeServer = new IPEndPoint(ip, 888);
socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Connect(removeServer);
if (socket.Connected)
{
Label1.Text = "连接服务器成功!!";
}
}
protected void Button2_Click(object sender, EventArgs e)
{
string sendStr = "消息来了";
byte[] bs = Encoding.Unicode.GetBytes(sendStr); //转换编码
try
{
socket.Send(bs, bs.Length, 0); //发送消息
}
catch { }
}
所以,你看不到winform界面的变化