是这样的,如果我把我的客户端和服务器端放在同一台机器上就能正常收发数据,但是把客户端放在另一台电脑上就不能联通,我们的是学校内网,另外服务器端的端口确实打开了。有人说数据被防火墙屏蔽了,但是我们两台机器把防火墙杀毒软件都关了也没用,不能互相ping通。帮帮啊,怎么解决
解决方案 »
- 急,求助:Excel导入SQL SERVER 2005我这代码错在哪?
- 如何把SQL数据传到内存DATATABLE???急用
- 创建WEB安装项的问题(VS2005)
- ip探测
- 用VS2005打包,如何让主程序在安装完成后自动启动
- 一个关于最大化的简单难题!!!!!
- 难道没分就没人回答问题,cao
- combobox数据绑定之后SelectedIndexChanged事件无法触发咋办?
- 使用WF流程设计器时,如何自定义FlowSwitch(即修改外观大小,图片,文字等)
- 請問高手, C#中用哪一種功能(方法)取代了以前宏的功能(方法)?
- 如何用datareader给label绑定数据~~~~
- 第三次问这个问题,socket的奇怪现象
查看两台机器是否在同一个网段内.
服务器端:本机ip10.2.17.25, private void Form1_Load(object sender, EventArgs e)
{
socketInit();
} private void socketInit()
{
if (privateUdpSock == null)
{
privateUdpSock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint IPE2 = new IPEndPoint(Dns.Resolve(Dns.GetHostName()).AddressList[0], 60000);
udpSource us2 = new udpSource();
privateUdpSock.Bind(IPE2);
us2.ep = (EndPoint)IPE2;
us2.workingSock = privateUdpSock;
us2.data = new byte[1024];
privateUdpSock.BeginReceiveFrom(us2.data, 0, 1024, SocketFlags.None, ref us2.ep, new AsyncCallback(privateCallBack), us2);
}
}
public void privateCallBack(IAsyncResult ar)
{
CheckForIllegalCrossThreadCalls = false;
udpSource us2 = (udpSource)ar.AsyncState;
int i = privateUdpSock.EndReceiveFrom(ar, ref us2.ep);
string remoteIp = Encoding.Default.GetString(us2.data, 0, i);
this.richTextBox1.AppendText(remoteIp + Environment.NewLine);
privateUdpSock.BeginReceiveFrom(us2.data, 0, 1024, SocketFlags.None, ref us2.ep, new AsyncCallback(privateCallBack), us2); }客户端:private void Form1_Load(object sender, EventArgs e)
{
Socket temp = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
IPEndPoint IPE = new IPEndPoint(IPAddress.Parse("10.2.17.25"), 60000);
byte [] ss=Encoding.Default.GetBytes("hahahah");
temp.SendTo(ss, (EndPoint)IPE);
}