新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了java中如何利用TCP实现聊天功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
在叠彩等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站制作 网站设计制作定制设计,公司网站建设,企业网站建设,品牌网站设计,全网营销推广,外贸网站制作,叠彩网站建设费用合理。
TCP
TCP协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。
TCP通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。
示例代码
使用tcp协议实现的简单聊天功能(非常简单的)
思想:使用2个线程,一个线程是用来接收消息的,另一个线程是用来发消息的。
客户端Demo代码:
public class SendDemo { public static void main(String[] args) throws Exception{ Socket socket= new Socket(InetAddress.getLocalHost(),8888); SendImpl sendImpl= new SendImpl(socket); //发送的线程 new Thread(sendImpl).start(); //接收的线程 ReciveImpl reciveImpl=new ReciveImpl(socket); new Thread(reciveImpl).start(); } }
服务器端Demo代码:
public class ServerDemo { public static void main(String[] args) throws Exception { ServerSocket serverSocket =new ServerSocket(8888); Socket socket=serverSocket.accept(); SendImpl sendImpl= new SendImpl(socket); new Thread(sendImpl).start(); ReciveImpl reciveImpl=new ReciveImpl(socket); new Thread(reciveImpl).start(); } }
发送线程的Demo代码:
public class SendImpl implements Runnable{ private Socket socket; public SendImpl(Socket socket) { this.socket=socket; // TODO Auto-generated constructor stub } @Override public void run() { Scanner scanner=new Scanner(System.in); while(true){ try { OutputStream outputStream = socket.getOutputStream(); String string= scanner.nextLine(); outputStream.write(string.getBytes()); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
接收线程的Demo代码:
public class ReciveImpl implements Runnable { private Socket socket; public ReciveImpl(Socket socket) { this.socket=socket; // TODO Auto-generated constructor stub } @Override public void run() { while(true ){ try { InputStream inputStream = socket.getInputStream(); byte[] b=new byte[1024]; int len= inputStream.read(b); System.out.println("收到消息:"+new String(b,0,len)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
感谢你能够认真阅读完这篇文章,希望小编分享的“java中如何利用TCP实现聊天功能”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!