scoket网络通信收发消息
2014-12-19 16:12
134 查看
先来看客户端代码:
服务端代码:
package client.sendReceive; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.net.Socket; import java.net.UnknownHostException; /** * 向服务端程序发送消息, * @author kevin liu<wenhaoliu117@gmail.com> * */ public class SenderSocket { private String ip; private int port; /** * 初始化 * @param ip 服务端socket * @param port 服务端机器的ip地址 */ public SenderSocket(String ip, int port) { this.ip = ip; this.port = port; } /** * * @param msg */ public void sendMsg(String msg) { try { Socket client = new Socket(ip, port); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter( client.getOutputStream())); writer.write(msg.trim()); writer.close(); client.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
服务端代码:
package server.sendReceive; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; /** * 服务端,用于接收客户端的信息 * @author kevin liu<wenhaoliu117@gmail.com> * */ public class ReceiverSocket { private int port;//端口号,在配置文件中 public ReceiverSocket(int port){ this.port = port; } public void startListening(){ Thread listenThread = new Thread(new Runnable(){ @Override public void run() { // TODO Auto-generated method stub try { ServerSocket servSocet = new ServerSocket(port); Socket socket = null; BufferedReader br = null; String tmp1 = null; String tmp2 = null; while(true){ //等待建立连接 socket = servSocet.accept(); //读取数据,多线程的话,把new 一个thread,把socet传给它 br = new BufferedReader(new InputStreamReader(socket.getInputStream())); StringBuffer sb = new StringBuffer(); String tmp = null; while((tmp=br.readLine())!=null){ sb.append(tmp); } br.close(); if(socket !=null ){ socket.close(); } } } catch (IOException e) { e.printStackTrace(); } } }); listenThread.start(); } }以上是工作中遇到scoket通信接受消息的实例代码,如有错误恳请指教~~~
相关文章推荐
- 从零开始写Go网络通信框架(4)——全双工收发消息
- ESFramework介绍之(2)――网络通信消息NetMessage
- Java网络编程基础之Scoket通信
- c#网络通信框架networkcomms内核解析之三 消息同步调用
- 对象就像是生物学里的细胞,或者网络中的一台计算机,只能够通过消息来通信
- 用select实现1对多的网络通信,多线程实现,且可以实现退出,相互间对话消息不受干扰
- c#网络通信框架networkcomms内核解析之二 消息处理流程
- 网络摘抄-davinci通信以及消息队列机制等的简述
- Qt与Java实现Tcp网络通信,收发简单字符串。
- c#网络通信框架networkcomms内核解析之一 消息传送
- 第三讲 DICOM消息交换和网络通信
- linux socket实现网络聊天室(二):使用线程独立收发消息
- Linux网络编程一步一步学-客户端和服务器端互相收发消息
- linux C++ 网络通信 -- Broken pipe,接收端突然断开,发送没收到,仍然发送消息,会导致进程崩溃
- ESFramework介绍之(2)――网络通信消息NetMessage
- DICOM标准及应用——第三讲 DICOM消息交换和网络通信
- TCP网络通信实例--消息的发送与接收
- c#网络通信框架networkcomms内核解析之一 消息传送
- c#网络通信框架networkcomms内核解析之二 消息处理流程
- ESFramework介绍之(1)――网络通信消息协议接口IContract