Socket Connection Timed Out 的问题
import java.net.*;
import java.io.*;
public class Test
{
public static void main(String argv[])
{
int port=7;
String userip[]=new String[2];
try
{
ServerSocket srv=new ServerSocket(port);
System.err.println("Echo server start at port:"+port);
while(true)
{
Socket clnt=srv.accept();
DataInputStream dataIn=new DataInputStream(new BufferedInputStream(clnt.getInputStream()));
DataOutputStream dataOut=new DataOutputStream(new BufferedOutputStream(clnt.getOutputStream()));
String cc=String.valueOf(clnt.getInetAddress());
String ip=cc.substring(1,cc.length());
String req=dataIn.readUTF();
System.out.println(req);
if(req.equals("Client"))
{
userip[0]=ip;
System.out.println("Client初始化成功!");
}
else if(req.equals("Client1"))
{
userip[1]=ip;
System.out.println("Client1初始化成功!");
}
else if(req.equals("needClient1"))
{
dataOut.writeUTF(userip[1]);
dataOut.flush();
System.out.println(userip[1]);
}
else if(req.equals("needClient"))
{
dataOut.writeUTF(userip[0]);
dataOut.flush();
System.out.println(userip[0]);
}
dataIn.close();
dataOut.close();
}
}
catch(IOException ioe)
{
System.err.println(ioe);
}
}
}
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class Client implements Runnable
{
private Socket sock;
private DataInputStream dataIn;
private DataOutputStream dataOut;
Label la,la1;
TextField tf,tf1;
Button bu;
String ip;
public static void main(String argv[])
{
new Client();
}
public Client()
{
Frame f=new Frame("Client");
la=new Label("请输入要发送的字符串:");
tf=new TextField();
la1=new Label("接收到的信息");
tf1=new TextField();
tf1.setEditable(false);
Panel pa=new Panel(new GridLayout(2,2));
pa.add(la);
pa.add(tf);
pa.add(la1);
pa.add(tf1);
makeConnection();
try
{
dataOut.writeUTF("Client");
dataOut.flush();
}
catch(IOException io)
{
System.err.println("Error"+io);
}
bu=new Button("发送");
bu.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
makeConnection();
try
{
dataOut.writeUTF("needClient1");
dataOut.flush();
ip=dataIn.readUTF();
System.out.println("1");
InetAddress srvAddr=InetAddress.getByName(ip);
System.out.println("2");
Socket so=new Socket(srvAddr,1);
System.out.println("3");
dataOut=new DataOutputStream(new BufferedOutputStream(so.getOutputStream()));
send();
so.close();
}
catch(IOException io)
{
System.err.println("Error"+io);
}
}
});
f.add(pa,BorderLayout.NORTH);
f.add(bu,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
Thread th=new Thread(this);
th.start();
}
private void makeConnection()
{
try
{
InetAddress srvAddr=InetAddress.getByName("221.205.48.54");
sock=new Socket(srvAddr,7);
dataOut=new DataOutputStream(new BufferedOutputStream(sock.getOutputStream()));
dataIn=new DataInputStream(new BufferedInputStream(sock.getInputStream()));
System.out.println("Connection to server ok");
}
catch(IOException io)
{
System.err.println("Error:"+io);
}
}
private void send()
{
try
{
dataOut.writeUTF(tf.getText());
dataOut.flush();
}
catch(IOException IOE)
{
System.out.println(IOE);
}
}
public void run()
{
int port=3800;
try
{
ServerSocket srv=new ServerSocket(port);
System.err.println("Echo server start at port:"+port);
while(true)
{
Socket clnt=srv.accept();
DataInputStream dataIn=new DataInputStream(new BufferedInputStream(clnt.getInputStream()));
System.out.println("Clinet connected from:"+clnt.getInetAddress());
String req=dataIn.readUTF();
tf1.setText(req);
dataIn.close();
clnt.close();
}
}
catch(IOException ioe)
{
System.err.println(ioe);
}
}
}
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class Client1 implements Runnable
{
private Socket sock;
private DataInputStream dataIn;
private DataOutputStream dataOut;
Label la,la1;
TextField tf,tf1;
Button bu;
String ip;
public static void main(String argv[])
{
new Client1();
}
public Client1()
{
Frame f=new Frame("Client1");
la=new Label("请输入要发送的字符串:");
tf=new TextField();
la1=new Label("接收到的信息");
tf1=new TextField();
tf1.setEditable(false);
Panel pa=new Panel(new GridLayout(2,2));
pa.add(la);
pa.add(tf);
pa.add(la1);
pa.add(tf1);
makeConnection();
try
{
dataOut.writeUTF("Client1");
dataOut.flush();
}
catch(IOException io)
{
System.err.println("Error"+io);
}
bu=new Button("发送");
bu.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
makeConnection();
try
{
dataOut.writeUTF("needClient");
dataOut.flush();
ip=dataIn.readUTF();
System.out.println("4");
InetAddress srvAddr=InetAddress.getByName(ip);
System.out.println("5");
Socket so=new Socket(srvAddr,3800);
System.out.println("6");
dataOut=new DataOutputStream(new BufferedOutputStream(so.getOutputStream()));
send();
so.close();
}
catch(IOException io)
{
System.err.println("Error"+io);
}
}
});
f.add(pa,BorderLayout.NORTH);
f.add(bu,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
Thread th=new Thread(this);
th.start();
}
private void makeConnection()
{
try
{
InetAddress srvAddr=InetAddress.getByName("221.205.48.54");
sock=new Socket(srvAddr,7);
dataOut=new DataOutputStream(new BufferedOutputStream(sock.getOutputStream()));
dataIn=new DataInputStream(new BufferedInputStream(sock.getInputStream()));
System.out.println("Connection to server ok");
}
catch(IOException io)
{
System.err.println("Error:"+io);
}
}
private void send()
{
try
{
dataOut.writeUTF(tf.getText());
dataOut.flush();
}
catch(IOException IOE)
{
System.out.println(IOE);
}
}
public void run()
{
int port=1;
try
{
ServerSocket srv=new ServerSocket(port);
System.err.println("Echo server start at port:"+port);
while(true)
{
Socket clnt=srv.accept();
DataInputStream dataIn=new DataInputStream(new BufferedInputStream(clnt.getInputStream()));
System.out.println("Clinet connected from:"+clnt.getInetAddress());
String req=dataIn.readUTF();
tf1.setText(req);
dataIn.close();
clnt.close();
}
}
catch(IOException ioe)
{
System.err.println(ioe);
}
}
}
相关推荐
socket错误代码对应表
Socket错误代码对应表 提示: 在命令提示符下输入:net helpmsg 1xxxx 就能够得到Windows系统提供的错误提示的详细解释。 出现网络联机错误Socket error #11001 表示您的计算机无法连上服务器,请检查您的Proxy设定以及Proxy相关账号,或暂时取消您防毒软件的「个人防火墙」。 · 出现网络联机错误Socket error #11004 应该是网络联机状态问题,请用户检查网络联机是否正常。 · 出现网络联机错误Socket error #10060 Connection Timed Out 表示您与服务器发生联机逾时错误,请检查您的Proxy相关设定,以及Proxy Server是否已将SSL 443 port打开。
浅析PHP Socket技术
phpsocketSocket位于TCP/IP协议的传输控制协议,提供客户-服务器模式的异步通信,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的反馈或服务!我练习了一个最基本的例子: 使用并发起一个阻塞式(block)连接,即服务器如果不返回数据流,则一直保持连接状态,一旦有数据流传入,取得内容后就立即断开连接。代码如下:复制代码 代码如下:<?php$host = www.sohu.com; //这个地址随便,用新浪的也行,主要是测试用,哪个无所谓$page = “/index.html”;$port = 80;$request = “GET $page HTTP/1.1\r\n
socket常见错误代码解析.pdf
socket常见错误代码解析.pdf
QTcpSocket使用.doc
QTcpSocket使用过程中的一些问题记录
linux上TCP connection timeout问题解决办法
主要介绍了 linux上TCP connection timeout问题解决办法的相关资料,需要的朋友可以参考下


Java SE
