实现了基于TCP的Java Socket编程,功能很简单:客户端向服务器端输出一名话"connect",服务器端接收输出到控制台并向客户端输出一名话"Hello",客户端接收并输出。

1.服务器端

  1. package javase.net.socket;
  2. import java.io.DataInputStream;
  3. import java.io.DataOutputStream;
  4. import java.io.IOException;
  5. import java.io.InputStream;
  6. import java.io.OutputStream;
  7. import java.net.ServerSocket;
  8. import java.net.Socket;
  9. public class TCPServer {
  10. public static void main(String[] args) {
  11. try {
  12. ServerSocket serverSocket = new ServerSocket(8888);
  13. Socket socket = serverSocket.accept();
  14. // 读取客户端数据
  15. InputStream info = socket.getInputStream();
  16. DataInputStream dis = new DataInputStream(info);
  17. System.out.println(dis.readUTF());
  18. // 向客户端输出数据
  19. OutputStream os = socket.getOutputStream();
  20. DataOutputStream dos = new DataOutputStream(os);
  21. dos.writeUTF("Hello!");
  22. dos.flush();
  23. } catch (IOException e) {
  24. e.printStackTrace();
  25. }
  26. }
  27. }

2.客户端:

    1. package javase.net.socket;
    2. import java.io.DataInputStream;
    3. import java.io.DataOutputStream;
    4. import java.io.IOException;
    5. import java.io.InputStream;
    6. import java.io.OutputStream;
    7. import java.net.Socket;
    8. import java.net.UnknownHostException;
    9. public class TCPClient {
    10. public static void main(String[] args) {
    11. try {
    12. Socket socket = new Socket("192.168.1.123", 8888);
    13. // 向服务器端发送数据
    14. OutputStream os =  socket.getOutputStream();
    15. DataOutputStream bos = new DataOutputStream(os);
    16. bos.writeUTF("Connect");
    17. bos.flush();
    18. // 接收服务器端数据
    19. InputStream is = socket.getInputStream();
    20. DataInputStream dis = new DataInputStream(is);
    21. System.out.println(dis.readUTF());
    22. } catch (UnknownHostException e) {
    23. e.printStackTrace();
    24. } catch (IOException e) {
    25. e.printStackTrace();
    26. }
    27. }
    28. }

最新文章

  1. Apache不重新编译,利用apxs工具给Apache添加模块,如cgi模块
  2. (转)rlwrap真是一个好东西
  3. eclipse启动无响应,停留在Loading workbench状态,或老是加载不了revert resources
  4. nefu 120 梅森素数
  5. Things about single men that women hate
  6. Using JAAS Authentication in Java Clients---weblogic document
  7. BZOJ 1021 [SHOI2008]Debt 循环的债务
  8. ASP.NET Web API中的JSON和XML序列化
  9. Mac上安装Tomcat
  10. grpc-gateway:grpc对外提供http服务的解决方案
  11. Mysql元数据分析
  12. array数组(n,1)和(n,)互相转换
  13. kubernetes核心概念
  14. Spring中@Resource与@Autowired、@Qualifier的用法与区别
  15. _spellmod
  16. 廖雪峰Java6 IO编程-2input和output-4Filter模式
  17. list string 互转
  18. Makefile学习之路——2
  19. Phpcms V9当前栏目及所有二级栏目下内容调用标签
  20. 如何使用iClap创建普通批注

热门文章

  1. Mysql [Err] 1118 - Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535.
  2. github+hexo(window10)
  3. 如果说需要注册数据中心,这样才能使用demo部署数据中心license证需要申请,使用云之间-工作流程......
  4. 【剑指Offer】36、两个链表的第一个公共结点
  5. HDU 2267 How Many People Can Survive(广搜,简单)
  6. 58.fetch phbase
  7. Beautifulsoup提取特定丁香园帖子回复
  8. 【习题 4-5 Uva1590】 IP Networks
  9. SpringBoot+FreeMarker开发word文档下载,预览
  10. HDU 1242