使用Java的TCP/IP进行本地测试
深夜来发文章
使用Java创建一个Client和一个Server,让他们之间能够相互通信,在Client的控制台上写的信息能够发给Server并在Server控制台上显示
在Server的控制台上写的信息能够发给Client并在Client控制台上显示
上代码
/**
Client 代码
开启了额外的两个线程
*/
import java.io.*;
import java.net.*;
class inFromS implements Runnable
{
InputStream in=null;
inFromS(InputStream in)
{
this.in=in;
}
public void run()
{
int len;
byte[] by=new byte[1024];
try
{
while(true)
{
len=in.read(by);
if(len!=0)
System.out.println(new String(by,0,len));
}
}
catch (Exception e)
{
}
}
}
class inFromC implements Runnable
{
BufferedReader bufr=null;
OutputStream out=null;
inFromC(BufferedReader bufr,OutputStream out)
{
this.bufr=bufr;
this.out=out;
}
public void run()
{
String line=null;
try
{
while((line=bufr.readLine())!=null)
{
byte[] by=new byte[1024];
by=line.getBytes();
out.write(by,0,by.length);
}
}
catch (Exception e)
{
}
}
}
public class ChatDemoClient
{
public static void main(String[] args)throws Exception
{
Socket sk=new Socket("192.168.1.107",9999);
InputStream inFromServer=sk.getInputStream();
BufferedReader inFromCon=new BufferedReader(new InputStreamReader(System.in));
OutputStream out=sk.getOutputStream();
new Thread(new inFromS(inFromServer)).start();
new Thread(new inFromC(inFromCon,out)).start();
}
}
/**
Server 代码
也额外的开启了两个线程
*/
<pre name="code" class="html">import java.io.*;
import java.net.*;
class inFromCL implements Runnable
{
InputStream in=null;
String ip=null;
inFromCL(InputStream in,String ip)
{
this.in=in;
this.ip=ip;
}
public void run()
{
int len;
byte[] by=new byte[1024];
try
{
while(true)
{
len=in.read(by);
if(len!=0)
{
System.out.print("From ip::"+ip+"...");
System.out.println(new String(by,0,len));
}
}
}
catch (Exception w)
{
}
}
}
class inFromC implements Runnable
{
BufferedReader bufr=null;
OutputStream out=null;
inFromC(BufferedReader bufr,OutputStream out)
{
this.bufr=bufr;
this.out=out;
}
public void run()
{
String line=null;
try
{
while((line=bufr.readLine())!=null)
{
byte[] by=new byte[1024];
by=line.getBytes();
out.write(by,0,by.length);
}
}
catch (Exception e)
{
}
}
}
public class ChatDemoServer
{
public static void main(String[] args)throws Exception
{
ServerSocket ss=new ServerSocket(9999);
Socket sk=ss.accept();
InputStream inFromClient=sk.getInputStream();
BufferedReader inFromCon=new BufferedReader(new InputStreamReader(System.in));
OutputStream out=sk.getOutputStream();
String ip=sk.getInetAddress().getHostAddress();
new Thread(new inFromCL(inFromClient,ip)).start();
new Thread(new inFromC(inFromCon,out)).start();
}
}
欢迎大神指点