udp和TCP方式都可以和网上服务器进行数据交互吧,我之前做的是udp模式的,现项目急需TCP方式的,不知道能不能在此代码上修改下,编程TCP方式的?
代码如下:using System.Net;
using System.Net.Sockets;namespace BACnetClient
{
public partial class Form1 : Form
{
Socket bacnet_master_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("219.142.59.82"), 5022);//目标端口 public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
IPEndPoint local_ipep = new IPEndPoint(IPAddress.Parse("192.168.0.24"), 5022);// 绑定端口(本地IP)
bacnet_master_socket.Bind(local_ipep);
bacnet_master_socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
} private void btn_Device_FirmwareRevision_Click(object sender, EventArgs e)
{
/********************************发送************************************/
byte[] data = new byte[1024];
string SendMsgStr = "aaaaaaaaaaaaaaaaa";
data = Encoding.ASCII.GetBytes(SendMsgStr); //发送
bacnet_master_socket.SendTo(data, Convert.ToInt32(data.LongLength), SocketFlags.None, ipep); /************************接收*****************************/
IPEndPoint IpSender = new IPEndPoint(IPAddress.Any, 0);
EndPoint tmpRemote = (EndPoint)IpSender;
byte[] received = new byte[1024];
int recv = bacnet_master_socket.ReceiveFrom(received, ref tmpRemote);
}
}
}如果我把问题想的太简单了,请高手给个学习的方向,,需要快速解决问题。
万分感激!!!
代码如下:using System.Net;
using System.Net.Sockets;namespace BACnetClient
{
public partial class Form1 : Form
{
Socket bacnet_master_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("219.142.59.82"), 5022);//目标端口 public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
IPEndPoint local_ipep = new IPEndPoint(IPAddress.Parse("192.168.0.24"), 5022);// 绑定端口(本地IP)
bacnet_master_socket.Bind(local_ipep);
bacnet_master_socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true);
} private void btn_Device_FirmwareRevision_Click(object sender, EventArgs e)
{
/********************************发送************************************/
byte[] data = new byte[1024];
string SendMsgStr = "aaaaaaaaaaaaaaaaa";
data = Encoding.ASCII.GetBytes(SendMsgStr); //发送
bacnet_master_socket.SendTo(data, Convert.ToInt32(data.LongLength), SocketFlags.None, ipep); /************************接收*****************************/
IPEndPoint IpSender = new IPEndPoint(IPAddress.Any, 0);
EndPoint tmpRemote = (EndPoint)IpSender;
byte[] received = new byte[1024];
int recv = bacnet_master_socket.ReceiveFrom(received, ref tmpRemote);
}
}
}如果我把问题想的太简单了,请高手给个学习的方向,,需要快速解决问题。
万分感激!!!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货