• 第一次做socket的一些心得


    理论什么的bilibala的就是自己百度吧

    推荐一篇不错的关于socket的文章

    http://www.cnblogs.com/sunway/archive/2010/01/29/1659074.html

    其实我也只是刚刚完成了端口监听这一项,其实主要就是获取本地的IP地址

    IPAddress myIP;
    string ipString = Dns.GetHostEntry(Dns.GetHostName()).AddressList[1].ToString();//获取本机IP地址
    myIP = IPAddress.Parse(ipString);

    其中有些问题就是AddressList[]的问题,刚开始一直写的是AddressList[0],结果每次取得的都是错误的IP,最后查资料才知道0是IPv6的格式,而1是IPv4的格式,这样才把主要问题给解决了。

    最后附上全部代码吧

     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel;
     4 using System.Data;
     5 using System.Drawing;
     6 using System.Linq;
     7 using System.Text;
     8 using System.Windows.Forms;
     9 using System.Net;
    10 using System.Threading;
    11 using System.Net.Sockets;
    12 
    13 namespace socket测试WinForm
    14 {
    15     public partial class Form1 : Form
    16     {
    17         public Form1()
    18         {
    19             InitializeComponent();
    20         }
    21         IPAddress myIP;
    22         private void button1_Click(object sender, EventArgs e)
    23         {
    24             try
    25             {
    26                 IPHostEntry entry = new IPHostEntry();
    27                 string ipString = Dns.GetHostEntry(Dns.GetHostName()).AddressList[1].ToString();//获取本机IP地址
    28                 myIP = IPAddress.Parse(ipString);
    29                 txtState.Text = "";
    30                 txtState.AppendText("主机开始监听.....
    ");
    31                 TcpListener listener = new TcpListener(myIP ,Convert.ToInt32(textBox2.Text));
    32                 listener.Start();
    33             }
    34             catch(Exception ez)
    35             {
    36                 MessageBox.Show(ez.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
    37                 return;
    38             }
    39         }
    40     }
    41 }
    View Code

    有不足的还请大家指正吧

  • 相关阅读:
    day70 django中间件
    day69 cookie与session
    day68 form组件
    day67 前后端数据交互
    day65 django进阶(1)
    day64 django模型层
    day63 django入门(4)
    day62 作业
    Python正课142 —— DRF 进阶3 路由与认证
    一文搞懂什么是IaaS, PaaS和SaaS
  • 原文地址:https://www.cnblogs.com/dranched/p/3740825.html
Copyright © 2020-2023  润新知