socket变成出现【在其上下文中,该请求的地址无效】
【求助】socket变成出现【在其上下文中,该请求的地址无效】
上面是代码,IP地址是公司内部的计算机,可以ping通,在程序的tcplistener.Start();出现错误在其上下文中,该请求的地址无效,换成自己的IP就没有错误了,不知道什么情况,请各位帮忙解决一下啊
------解决方案--------------------
你这是服务端..监听的肯定是本机的 既然你移到别的电脑了 IP就不一样了 所以就报错了
注意看第二句的代码..
应该对你有用
------解决方案--------------------
192.168.2.138这个IP不是你本机的啊?
你还想从本机监听另外一个机器的端口?我汗。。
TcpListener 只能监听本机的端口
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 server_1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
IPAddress IPadd = IPAddress.Parse("192.168.2.138");
TcpListener tcplistener = new TcpListener(IPadd, 1111);
tcplistener.Start();
TcpClient tcpclient = tcplistener.AcceptTcpClient();
NetworkStream ns = tcpclient.GetStream();
StreamReader sr = new StreamReader(ns);
String test = sr.ToString();
textBox1.Text = test;
}
}
}
上面是代码,IP地址是公司内部的计算机,可以ping通,在程序的tcplistener.Start();出现错误在其上下文中,该请求的地址无效,换成自己的IP就没有错误了,不知道什么情况,请各位帮忙解决一下啊
------解决方案--------------------
你这是服务端..监听的肯定是本机的 既然你移到别的电脑了 IP就不一样了 所以就报错了
var socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.Bind(new IPEndPoint(IPAddress.Any, int.Parse(txt_port.Text)));
注意看第二句的代码..
IPAddress.Any
应该对你有用
------解决方案--------------------
192.168.2.138这个IP不是你本机的啊?
你还想从本机监听另外一个机器的端口?我汗。。
TcpListener 只能监听本机的端口