socket的简单例子

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了socket的简单例子相关的知识,希望对你有一定的参考价值。

最近刚刚开始学了socket的模块,就写了一个服务器与客户端交互的程序

有两种模式:

1.就是先电脑自动回复

2.就是人工服务

接下来就是代码了

服务器端的代码:

技术分享图片
 1 import socket
 2 server=socket.socket()
 3 server.bind((localhost,9999))
 4 print(--------服务器已启动--------)
 5 server.listen()
 6 duihua={你好:你也好,你是谁:我是 Arthur,我哥叫浩南哥,谁最帅:当然是我浩南哥}#可以在这里写一些常用回答
 7 while True:
 8     print(-----------正在连接用户-----------)
 9     conn,addr=server.accept()
10     print(--------------已连接用户-------------)
11     print(new conn,addr)
12     while True:
13         date=conn.recv(1024).decode()
14         if not date:
15             print(用户已断开)
16             break
17         elif date in duihua:#自动回答用户问题
18             conn.send(duihua[date].encode(utf-8))
19         if date==人工服务:#自己亲自回答用户问题
20             print(---进入人工服务---)
21             conn.send(现在已为你连接人工服务.encode(utf-8))
22             while True:
23                 date1=conn.recv(1024).decode()
24                 if date1==退出:
25                     conn.send(已断开人工服务.encode(utf-8))
26                     print(---已断开人工服务---)
27                     break
28                 print(用户问题:,date1)
29                 date2=input(回复:)
30                 conn.send(date2.encode(utf-8))
31         else:
32             conn.send(我不知道你在说什么,你可用人工服务来解决的需要.encode(utf-8))
33 server.close()
View Code

客户端的代码:

技术分享图片
 1 import socket
 2 client=socket.socket()
 3 client.connect((localhost,9999))
 4 while True:
 5     say=input(你:).strip()
 6     if len(say)==0:continue
 7     elif say==F:
 8         client.close()
 9         break
10     else:
11         client.send(say.encode(utf-8))
12         date=client.recv(1024)
13         print(Arthur:,date.decode())
View Code

随意批评指点

以上是关于socket的简单例子的主要内容,如果未能解决你的问题,请参考以下文章

一个简单的PHP的进程加socket加WS的例子

Socket通信的简单例子

Python之路42-socket介绍及简单例子

170411java Socket通信的简单例子(UDP)

170410java Socket通信的简单例子(TCP)

Qt学习 之 Socket通信(世界上最简单的例子了)