java Tcp通信客户端与服务器端实例
本文实例讲述了javaTcp通信客户端与服务器端。分享给大家供大家参考,具体如下:
由服务器端发送数据
服务器端:
importjava.io.*;
importjava.net.*;
publicclassTestSocket{
publicstaticvoidmain(String[]args){
try{
ServerSocketss=newServerSocket(8888);
while(true){
Sockets=ss.accept();
OutputStreamos=s.getOutputStream();
DataOutputStreamdos=newDataOutputStream(os);
dos.writeUTF("hello"+s.getInetAddress()+"port"+s.getPort()+"beybye");
dos.close();
//os.flush();
os.close();
//s.close();
}
}catch(IOExceptione){
e.printStackTrace();
System.out.println("thereisawrong");
}
}
}
用户端:
importjava.io.*;
importjava.net.*;
publicclassTestClient{
publicstaticvoidmain(String[]args){
try{
Sockets=newSocket("127.0.0.1",8888);
DataInputStreamdis=newDataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
s.close();
dis.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
无论是客户端还是服务器端都可以收发数据。
交互型
用户端
importjava.io.*;
importjava.net.*;
publicclassTestClient2{
publicstaticvoidmain(String[]args){
try{
Sockets=newSocket("127.0.0.1",8886);
DataOutputStreamdos=newDataOutputStream(s.getOutputStream());
DataInputStreamdis=newDataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
dos.writeUTF("hey");
Stringstr=null;
if((str=dis.readUTF())!=null){
System.out.println(str);
}
s.close();
dis.close();
dos.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}
服务器端:
publicclassTestServer2{
publicstaticvoidmain(String[]args){
InputStreamin=null;
OutputStreamout=null;
try{
ServerSocketss=newServerSocket(8886);
while(true){
Sockets=ss.accept();
in=s.getInputStream();
out=s.getOutputStream();
DataOutputStreamdos=newDataOutputStream(s.getOutputStream());
DataInputStreamdis=newDataInputStream(s.getInputStream());
Stringstr=null;
if((str=dis.readUTF())!=null){
System.out.println(str);
System.out.println("form"+s.getInetAddress());
System.out.println("port"+s.getPort());
//dos.writeUTF("hello"+s.getInetAddress()+"port"+s.getPort()+"beybye");
}
dos.writeUTF("hihello");
dis.close();
dos.close();
s.close();
}
}catch(IOExceptione){
e.printStackTrace();
System.out.println("thereisawrong");
}
}
}
更多关于java相关内容感兴趣的读者可查看本站专题:《JavaSocket编程技巧总结》、《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。