C# winsocket连接 Jsonp
2016-07-11 11:25
531 查看
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AxMSWinsockLib;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
AxWinsock CK = new AxWinsock();
private void Form1_Load(object sender, EventArgs e)
{
//axWinsock2.Protocol = 0;
//axWinsock2.LocalPort = 9091;
//axWinsock2.Close();
//axWinsock3.Protocol = 0;
//axWinsock3.LocalPort = 9091;
//axWinsock3.Close();
axWinsock1.Protocol = 0;
axWinsock1.Bind(9091, "127.0.0.1");
axWinsock1.Close();
axWinsock1.Listen();
axWinsock1.ConnectionRequest += axWinsock1_ConnectionRequest;
}
int SuoYin = 0;
public void axWinsock1_ConnectionRequest(object sender, DMSWinsockControlEvents_ConnectionRequestEvent e)
{
// axWinsock1.DataArrival += Form1_DataArrival;
if ((axWinsock2.CtlState != (short)MSWinsockLib.StateConstants.sckConnected) && (axWinsock2.CtlState != (short)MSWinsockLib.StateConstants.sckConnecting) && (axWinsock2.CtlState != (short)MSWinsockLib.StateConstants.sckClosing))
{
axWinsock2.Accept(e.requestID);
//axWinsock2.SendData("天龙八部");
axWinsock2.DataArrival += Form1_DataArrival;
//CK = axWinsock2;
}
else if ((axWinsock3.CtlState != (short)MSWinsockLib.StateConstants.sckConnected) && (axWinsock3.CtlState != (short)MSWinsockLib.StateConstants.sckConnecting) && (axWinsock3.CtlState != (short)MSWinsockLib.StateConstants.sckClosing))
{
axWinsock3.Accept(e.requestID);
axWinsock3.DataArrival += Form1_DataArrival;
//CK = axWinsock3;
}
}
public void Form1_DataArrival(object sender, DMSWinsockControlEvents_DataArrivalEvent e)
{
string str = null;
object OT = new object();
//axWinsock1.GetData(ref str);
axWinsock2.GetData(ref OT, 8, e.bytesTotal);
//MessageBox.Show(OT.ToString());
//object OC = "VoiceAGApi.method.methodCallBack({result: \"0\" ,methodname: \"functionName\"});";
object OC = "VoiceAGApi.method.methodCallBack({result:\"0\" ,methodname:\"functionName\"});";
//MessageBox.Show(OC.ToString());
//getHttpParam = "VoiceAGApi.method.methodCallBack({result:" & Chr(34) & 0 & Chr(34) & ",methodname:" & Chr(34) & functionName & Chr(34) & "});"
//object OC = "VoiceAGApi.method.methodCallBack{(result:"+Encoding.ASCII.GetBytes("";
axWinsock2.SendData(OC);
//CK.GetData(ref OT);
axWinsock2.SendComplete += Form1_SendComplete;
}
public void Form1_SendComplete(object sender, EventArgs e)
{
axWinsock2.Close();
}
private void axWinsock1_ConnectEvent(object sender, EventArgs e)
{
}
private void axWinsock2_ConnectEvent(object sender, EventArgs e)
{
}
private void sk_ConnectEvent(object sender, EventArgs e)
{
}
private void axWinsock3_ConnectEvent(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
byte[] bt=new byte[4];
bt=Encoding.ASCII.GetBytes("\"");
int ascii = (short)(bt[0]);
byte[] array = new byte[1];
array[0] = (byte)(Convert.ToInt32(34)); //ASCII码强制转换二进制
string s = Convert.ToString(System.Text.Encoding.ASCII.GetString(array));
MessageBox.Show(s);
// string ss= Convert.ToString(System.Text.Encoding.ASCII.GetString((byte)(Convert.ToInt32(34)));
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using AxMSWinsockLib;
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
AxWinsock CK = new AxWinsock();
private void Form1_Load(object sender, EventArgs e)
{
//axWinsock2.Protocol = 0;
//axWinsock2.LocalPort = 9091;
//axWinsock2.Close();
//axWinsock3.Protocol = 0;
//axWinsock3.LocalPort = 9091;
//axWinsock3.Close();
axWinsock1.Protocol = 0;
axWinsock1.Bind(9091, "127.0.0.1");
axWinsock1.Close();
axWinsock1.Listen();
axWinsock1.ConnectionRequest += axWinsock1_ConnectionRequest;
}
int SuoYin = 0;
public void axWinsock1_ConnectionRequest(object sender, DMSWinsockControlEvents_ConnectionRequestEvent e)
{
// axWinsock1.DataArrival += Form1_DataArrival;
if ((axWinsock2.CtlState != (short)MSWinsockLib.StateConstants.sckConnected) && (axWinsock2.CtlState != (short)MSWinsockLib.StateConstants.sckConnecting) && (axWinsock2.CtlState != (short)MSWinsockLib.StateConstants.sckClosing))
{
axWinsock2.Accept(e.requestID);
//axWinsock2.SendData("天龙八部");
axWinsock2.DataArrival += Form1_DataArrival;
//CK = axWinsock2;
}
else if ((axWinsock3.CtlState != (short)MSWinsockLib.StateConstants.sckConnected) && (axWinsock3.CtlState != (short)MSWinsockLib.StateConstants.sckConnecting) && (axWinsock3.CtlState != (short)MSWinsockLib.StateConstants.sckClosing))
{
axWinsock3.Accept(e.requestID);
axWinsock3.DataArrival += Form1_DataArrival;
//CK = axWinsock3;
}
}
public void Form1_DataArrival(object sender, DMSWinsockControlEvents_DataArrivalEvent e)
{
string str = null;
object OT = new object();
//axWinsock1.GetData(ref str);
axWinsock2.GetData(ref OT, 8, e.bytesTotal);
//MessageBox.Show(OT.ToString());
//object OC = "VoiceAGApi.method.methodCallBack({result: \"0\" ,methodname: \"functionName\"});";
object OC = "VoiceAGApi.method.methodCallBack({result:\"0\" ,methodname:\"functionName\"});";
//MessageBox.Show(OC.ToString());
//getHttpParam = "VoiceAGApi.method.methodCallBack({result:" & Chr(34) & 0 & Chr(34) & ",methodname:" & Chr(34) & functionName & Chr(34) & "});"
//object OC = "VoiceAGApi.method.methodCallBack{(result:"+Encoding.ASCII.GetBytes("";
axWinsock2.SendData(OC);
//CK.GetData(ref OT);
axWinsock2.SendComplete += Form1_SendComplete;
}
public void Form1_SendComplete(object sender, EventArgs e)
{
axWinsock2.Close();
}
private void axWinsock1_ConnectEvent(object sender, EventArgs e)
{
}
private void axWinsock2_ConnectEvent(object sender, EventArgs e)
{
}
private void sk_ConnectEvent(object sender, EventArgs e)
{
}
private void axWinsock3_ConnectEvent(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
byte[] bt=new byte[4];
bt=Encoding.ASCII.GetBytes("\"");
int ascii = (short)(bt[0]);
byte[] array = new byte[1];
array[0] = (byte)(Convert.ToInt32(34)); //ASCII码强制转换二进制
string s = Convert.ToString(System.Text.Encoding.ASCII.GetString(array));
MessageBox.Show(s);
// string ss= Convert.ToString(System.Text.Encoding.ASCII.GetString((byte)(Convert.ToInt32(34)));
}
}
}
相关文章推荐
- 马赛克效果的JS图片切换代码
- 亮丽的JS图片渐变导航
- JSP获取绝对路径
- Js运动动画系列4--多物体缓冲运动
- 规定区域的JS拖动展示效果
- JS闭包学习笔记(3):模块
- Js运动动画系列3--缓冲运动
- 从两侧向中间拼合的JavaScript图片切换效果
- 大幅JS焦点图切换
- 按比例缩放图片,JavaScript代码
- js中函数表达式和函数声明
- jsp与servlet传值相关问题
- Js拖动特效,一串水晶球(很强大)
- Js图片连续左右滚动
- JS图片切换,带缩略图版
- JS卡通图片切换
- JS图片滚动代码(无缝、平滑)
- 史上最全、JavaScript基础篇
- JS点击小图预览大图(仿淘宝)
- JS放大镜,JavaScript图片放大代码