服务端
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 7074); listener = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
try
{
listener.Bind(localEndPoint);
listener.Listen(100); while (true)
{ allDone.Reset();
listener.BeginAccept(
new AsyncCallback(AcceptCallback),
listener);
allDone.WaitOne();客户端(客户端同步异步都无法连接服务端,除非服务端用同步监听就可以。这是为什么呢)
hostIPAddress = IPAddress.Parse("130.120.2.157");
int port = 7073;
Server = new IPEndPoint(hostIPAddress, port);
// _socket.BeginConnect(Server, new AsyncCallback(ConnectCallBack), _socket);
_socket.Connect(Server);
//开启接收信息线程
if (_socket.Connected)
{
}
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 7074); listener = new Socket(AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
try
{
listener.Bind(localEndPoint);
listener.Listen(100); while (true)
{ allDone.Reset();
listener.BeginAccept(
new AsyncCallback(AcceptCallback),
listener);
allDone.WaitOne();客户端(客户端同步异步都无法连接服务端,除非服务端用同步监听就可以。这是为什么呢)
hostIPAddress = IPAddress.Parse("130.120.2.157");
int port = 7073;
Server = new IPEndPoint(hostIPAddress, port);
// _socket.BeginConnect(Server, new AsyncCallback(ConnectCallBack), _socket);
_socket.Connect(Server);
//开启接收信息线程
if (_socket.Connected)
{
}
IPHostEntry ipHostInfo = Dns.Resolve(Dns.GetHostName());
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 7073);
listener.Bind(new IPEndPoint(localEndPoint));
改成
listener.Bind(new IPEndPoint(IPAddress.Any, this._port));
就可以通信。这两个有什么区别?好像没啥区别的样子