小编Ipo*_*ify的帖子

服务器客户端发送/接收简单文本

我有一个功课来构建一个应用程序,它将在服务器和客户端之间发送和接收简单的字符串.我知道如何建立连接,但不知道如何发送和接收字符串.这是我的代码:

public partial class Form1 : Form
{
    private Thread n_server;
    private Thread n_client;
    private Thread n_send_server;
    private TcpClient client;
    private TcpListener listener;
    private int port = 2222;
    private string IP = " ";
    private Socket socket;
    public Form1()
    {
        InitializeComponent();
    }

    private void exitToolStripMenuItem_Click(object sender, EventArgs e)
    {
        Application.Exit();
    }

    public void Server()
    {
        listener = new TcpListener(IPAddress.Any, port);
        listener.Start();
        try
        {
            socket = listener.AcceptSocket();
            if (socket.Connected)
            {
                textBox2.Invoke((MethodInvoker)delegate { textBox2.Text = "Client : " + socket.RemoteEndPoint.ToString(); });
            } …
Run Code Online (Sandbox Code Playgroud)

.net c# sockets winforms

36
推荐指数
2
解决办法
15万
查看次数

Server Client应用程序

这是我的服务器代码我有问题,因为我的程序冻结,不知道有什么问题.

   private void button1_Click(object sender, EventArgs e)
    {
        if (button1.Text == "Listen")
        {
            tcpl = new TcpListener(IPAddress.Any, 5555);
            tcpl.Start();

            try
            { 
                // get random word from text
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.Filter = "Txt |*.txt";
                ofd.Title = "Tekst";
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    String[] myString = File.ReadAllLines(ofd.FileName);
                    textBox1.Text = myString[r.Next(myString.Length)];
                }

                    Socket socketForClient = tcpl.AcceptSocket();
                    if (socketForClient.Connected)
                    {
                        MessageBox.Show("Client connected" + socketForClient.RemoteEndPoint.ToString());
                        NetworkStream networkStream = new NetworkStream(socketForClient);
                        StreamWriter sw = new StreamWriter(networkStream);
                        StreamReader sr = new StreamReader(networkStream);
                        string line …
Run Code Online (Sandbox Code Playgroud)

c# sockets tcp winforms

2
推荐指数
1
解决办法
273
查看次数

礼品包装算法

我在面板上保存了一组点List<MyVector> savedPoints,然后我用最低坐标y计算了点:

 public void searchLowest()  
    {
        MyVector temp;
        double ylon = savedPoints[0].getY();
        for (int i = 0; i < savedPoints.Count; i++)
        {
            if (savedPoints[i].getY() > ylon)
            {
                ylon = savedPoints[i].getY();
                lowest = i;
            }
        }

        temp = savedPoints[lowest];
    }
Run Code Online (Sandbox Code Playgroud)

在此之后我做了一个计算极角的方法:

public static double angle(MyVector vec1, MyVector vec2) 
        {
            double angle = Math.Atan2(vec1.getY() - vec2.getY(), vec1.getX() - vec2.getX());
            return angle;
        }
Run Code Online (Sandbox Code Playgroud)

现在不知道如何在我的情况下使用礼品包装算法.WikiPedia 链接上的伪代码对我来说并不是真的可以理解,所以我在这里寻求帮助.

我正在使用C#和win表单(net.framework 4.0)

谢谢你的帮助.

c# algorithm c#-4.0

2
推荐指数
1
解决办法
9138
查看次数

标签 统计

c# ×3

sockets ×2

winforms ×2

.net ×1

algorithm ×1

c#-4.0 ×1

tcp ×1