通过创建socket链接,建立起ip,端口链接,发送数据和接收数据
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace mes_socket_wf
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
// 设置IP地址和端口号
string ip = ip_text.Text;
int port = int.Parse(port_text.Text);
string sendData = send_data_text.Text;
// 创建Socket连接
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
// 连接到服务器
socket.Connect(IPAddress.Parse(ip), port);
// 发送数据
byte[] data = Encoding.ASCII.GetBytes(sendData);
socket.Send(data);
// 接收数据
data = new byte[1024];
int bytesReceived = socket.Receive(data);
//string response = Encoding.ASCII.GetString(data, 0, bytesReceived);
string response = Encoding.UTF8.GetString(data, 0, bytesReceived);
//Console.WriteLine("Server response: {0}", response);
receive_data_text.Text = response;
// 关闭连接
socket.Shutdown(SocketShutdown.Both);
socket.Close();
}
catch (Exception )
{
Console.WriteLine("Exception: {0}", e.ToString());
}
}
private void ip_text_TextChanged(object sender, EventArgs e)
{
}
private void port_text_TextChanged(object sender, EventArgs e)
{
}
private void send_data_text_TextChanged(object sender, EventArgs e)
{
}
private void receive_data_text_TextChanged(object sender, EventArgs e)
{
}
}
}