问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

socket连接问题

发布网友 发布时间:2022-06-09 22:38

我来回答

4个回答

热心网友 时间:2024-12-05 20:18

给你一点例子吧~
5.点对点通信
/*
using System.Data;
using System.Net.Sockets;
using System.Net;
using System.Threading;
*/
Thread th;
TcpListener tpListen1;
bool listenerRun=true;
NetworkStream tcpStream;
StreamWriter reqStreamW;
TcpClient tcpc;
Socket skSocket;
protected void Listen()
{
try{
tpListen1=new TcpListener(Int32.Parse(%%2));
tpListen1.Start();
skSocket=tpListen1.AcceptSocket();
EndPoint tempRemoteEP=skSocket.RemoteEndPoint;
IPEndPoint tempRemoteIP=(IPEndPoint)tempRemoteEP;
IPHostEntry host=Dns.GetHostByAddress(tempRemoteIP.Address);
string HostName=host.HostName;
while(listenerRun)
{
Byte[] stream=new Byte[1024];
string time=DateTime.Now.ToString();
int i=skSocket.ReceiveFrom(stream,ref tempRemoteEP);
string %%5=Encoding.UTF8.GetString(stream);
//指定编码,从缓冲区中解析出内容
//time+" "+HostName+":"
}
}
catch(Security.SecurityException)
{
//防火墙安全错误!
}
try{
string sMsg=%%4;
string MyName=Dns.GetHostName();
reqStreamW=new StreamWriter(tcpStream);
reqStreamW.Write(sMsg);
reqStreamW.Flush();
string time=DateTime.Now.ToString();
//显示传送的数据和时间
//time+" "+MyName+":"
//sMsg
}
catch(Exception)
{
//无法发送信息到目标计算机!
}

protected override void Dispose(bool disposing)
{
try{
listenerRun=false;
th.Abort();
th=null;
tpListen1.Stop();
skSocket.Close();
tcpc.Close();
}
catch{}
if(disposing && component!=null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}

1.简单服务器端
/*
using System.Data;
using System.Net.Sockets;
using System.Net;
using System.Threading;
*/
private static int port = %%2;
private static Thread thThreadRead;
private static TcpListener TcpListen;
private static bool bListener = true;
private static Socket stRead;
private static void Listen()
{
try
{
TcpListen = new TcpListener(port);
TcpListen.Start();
stRead = TcpListen.AcceptSocket();
EndPoint tempRemoteEP = stRead.RemoteEndPoint;
IPEndPoint tempRemoteIP = (IPEndPoint)tempRemoteEP;
IPHostEntry host = Dns.GetHostByAddress(tempRemoteIP.Address);
string sHostName = host.HostName;
while (bListener)
{
stRead.Send(Encoding.ASCII.GetBytes("Hello"));
string sTime = DateTime.Now.ToShortTimeString();
Byte[] byRead = new Byte[1024];
int iRead = stRead.ReceiveFrom(byRead, ref tempRemoteEP);
Byte[] byText = new Byte[iRead];
Array.Copy(byRead, 0, byText, 0, iRead);
string line = System.Text.Encoding.Default.GetString(byRead);
}
}
catch (System.Security.SecurityException)
{
//监听失败
}
}
thThreadRead = new Thread(new ThreadStart(Listen));
thThreadRead.Start();

2.简单客户端
/*
using System.Data;
using System.Net.Sockets;
using System.Net;
*/
private static IPEndPoint dateTimeHost;
string hostIPString=%%1;
string hostPortString=%%2;
IPAddress hostIP=IPAddress.Parse(hostIPString);
dateTimeHost=new IPEndPoint(hostIP,Int32.Parse(hostPortString));
Socket conn=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
conn.Connect(dateTimeHost);
int bytes=0;
Byte[] RecvBytes=new Byte[256];
bytes=conn.Receive(RecvBytes,RecvBytes.Length,0);
string RecvString=Encoding.ASCII.GetString(RecvBytes,0,bytes);
Console.WriteLine(RecvString);
conn.Shutdown(SocketShutdown.Both);
conn.Close();

3.获得本机IP
//using System.Net;
IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;
string %%1=null;
for (int i = 0; i < addressList.Length; i++)
{
%%1 += addressList[i].ToString();
}

热心网友 时间:2024-12-05 20:19

你试试ping一下通不通,可能是防火墙的问题。还要尤其注意windows防火墙,还有些杀毒软件也会阻止一些程序,而且关掉还不行。方法就是添到白名单里,或者卸载。。。

另外服务端写一个日志输出的功能
客户端登录的时候跟踪调试一下

热心网友 时间:2024-12-05 20:19

不用试,本机下可以,两台机器不行,肯定就是防火墙的问题。

热心网友 时间:2024-12-05 20:20

你这也没代码 就按楼上的都试下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
家政服务阿姨是做什么的? 中央空调水滴图标是什么模式? 和EXO有关(字)的头像3张, 真的没人要么 exo这几个字母头像组合的头像 有没有EX0成员穿有EXO字的衣服的图片,和我头像一样的,越多越好! 为什么工商办卡要证明 亲子阅读的优缺点是什么? 馒头冬天放在室外存放 宝宝2 岁半说话结巴,宝宝结巴怎么纠正? 宝宝讲话口齿不清怎么办 socket连接过程中客户端IP改变 四大银行应届毕业生进去就是正式编制么 2017年四大国有银行校园招聘启事 中国人民银行校园招聘的算化务员吗?有编制吗 pos机提示socket连接中,然后路由错误 电视有dlna功能手机要什么软件 急求!!1 谁知道小一寸照片和半寸照片的尺寸分别是多少 荞麦面是不是又叫油面 谁能猜出她写得这句话是什么意思wsmk,wsmnmxtn,bzwwtksw,wcsbq,r... rgqme.exe是什么文件 RGQGDDBLN,NWDXKBKY?都是中文开头是什么意思 建筑RFGQ是什么墙? 人防图中RFGQ表示什么 RGQ是什么意思 怎样为各种食品起优雅的名字 大杏仁能炒着吃吗、放不放油 中药 杏仁怎么炒? ...那么多如果,可能如果我,可惜没如果,没有你和我。。。 女朋友的爸爸六十岁生日,我在蛋糕上写什么祝词比较恰当(还没订婚... 六十岁的阿姨过生日蛋糕上面写什么祝福语好呢 socket 连接问题 给广大人民的一封信作文600字 日程表软件 usb耳机用转接头接在手机上却没声音怎么解决? ...个usb插头是什么类型的耳机,以及应该买什么转接头可以插在手机... 广宁有没有高铁站? 如何在shell调用awk定义的参数 本人刚欠民生银行信用卡6200钱没还一个月逾期,三个月不还才是范法起诉... 桂花蜜的制作方法家常 2066年的清明节是哪一天具体算法? 2006年的日历 还哪年能用 ? 到2066年6月19还有多少天? 2066年润哪个月? 2066年农历5月20日是阴历多少? 广东化州语文考编制需要什么条件和学历 数据12345的方差 一组数据5,5,5,5,5的方差是多少? ...初中方差我都不会了阿。谁能给我说一下。12345得方差是多少阿?不要... 数据1. 2. 3 .4 .5. 6 .7 .8 .9 .10的方差是多少 1到9这九个数字的方差是多少?