0
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;

namespace PDMS_TCG
{
    public partial class FormHost : Form
    {
        public FormHost()
        {
            InitializeComponent();
        }

        private void btnConnect_Click(object sender, EventArgs e)
        {
            {
                IPAddress ipAd = IPAddress.Parse(txtAddress.Text);

                TcpListener myList = new TcpListener(ipAd, int.Parse(txtPort.Text));

                myList.Start();
                Socket s = myList.AcceptSocket();
                RPS rps = new RPS();
                rps.Show();            
            }
        }

        private void btnHost_Click(object sender, EventArgs e)
        {
            IPAddress ipAd = IPAddress.Parse(GV.strAddress);
            TcpListener myList = new TcpListener(ipAd, int.Parse(txtPort.Text));

            myList.Start();

            Socket s = myList.AcceptSocket();
        }
    }
}

txtAddress = ホストの IP アドレス

txtPort = ポート番号

TcpListener/Sockets に関して、いくつかの混乱があります。誰かがこのコードを修正するのを手伝ってくれますか? btnHost をクリックすると、接続をホストし、btnConnect がホストに接続します。また、接続したら、1 つのイベントが他のコンピューターでイベントをトリガーするようにするにはどうすればよいですか?

4

1 に答える 1

3
  • TcpClientクライアント側でを使用して、サーバーへの接続を開始します( Connect)。

  • TcpListenerサーバー側でを使用して、着信接続を受け入れます( AcceptTcpClient)。 tAcceptTcpClientを返します。TcpClien

GetStream次に、2つのを呼び出して、反対側との通信に使用できるTcpClientを取得Streamします(同期または非同期)。

両方ともTcpClientTcpListenerMSDNに広範な例があります。それらを見てください。すぐに何かが実行されるようになります。

于 2009-09-11T00:25:06.537 に答える