用Python实现服务器端与客户端一对一沟通功能

2018-10-09  本文已影响0人  幻灵海的主人

好像也没什么可写。

我刚刚踏入程序员的门槛,还没站稳,怕是会有被迫退出的可能。但,我会努力的!

昨天老师让我们在简书上写点知识梳理,由于一些世俗纷扰,所以没时间写,今天有空写了,但真不知道写什么好。IT界那么多大佬在,我写的一点知识算得了什么?真心不想献丑。

不过,不出道的程序员不是好的程序员,今天,就是我的出道之日!鼓掌鼓掌,撒花撒花!!

呃。。。代码怎么写来着?这里好像没有写代码的地方。

喂!有人吗?谁来告诉我代码在哪写啊?直接写在这里吗?

刚刚问了下度娘,试一下

'''

print(3)

'''

好像不怎么样啊。

无所谓了。上传一段服务器端与客户端相互沟通的代码吧。

'''

import socket

import time

def shijian():

t = time.time()

x = time.localtime(t)# 将时间戳转换为 当地 时间元组

ti=list(x)

return ('%s/%s/%s  %s:%s:%s'%(ti[0],ti[1],ti[2],ti[3],ti[4],ti[5]))

# 定义服务器信息

print("初始化服务器信息...")

HOST ="192.168.11.200"

PORT =8000

ADDRESS = (HOST, PORT)

BUFFER =1024

# 创建一个 TCP 服务端程序

print("创建 TCP 服务端对象")

tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定主机信息

print("绑定服务器主机")

tcp_server.bind(ADDRESS)

# 启动监听

print("启动监听")

tcp_server.listen(5)

# 轮询等待链接

while True:

      # 接收来自客户端的连接

      print("等待连接")

      client, addr = tcp_server.accept()

      print("客户端", addr,"已经接入服务器")

# 接收消息

    while True:

 # 发送给客户端的数据

              msg =input("enter msg(%s):"%(shijian()))

client.send(msg.encode("utf-8"))

# 接收客户端发送的数据

        info = client.recv(BUFFER)

#  打印展示数据

        print("[", addr,"]client(%s):"%(shijian()), info.decode("utf-8"))

        if info.decode("utf-8").lower() =="bye":

         print("客户端退出..bye")

# 关闭和客户端保持连接的套接字

            client.close()

break

'''

'''

import socket

import time

#获取时间函数

def shijian():

t = time.time()

x = time.localtime(t)# 将时间戳转换为 当地 时间元组

    ti=list(x)

return ('%s/%s/%s  %s:%s:%s'%(ti[0],ti[1],ti[2],ti[3],ti[4],ti[5]))

# 定义要连接的服务器信息

print("定位服务器信息...")

HOST ="192.168.11.200"

PORT =8000

ADDRESS = (HOST, PORT)

BUFFER =1024

# 创建 TCP 客户端套接字对象

tcp_client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 连接指定服务器

tcp_client.connect(ADDRESS)

# 和服务器进行数据交互

while True:

# 接收服务器的信息

    info = tcp_client.recv(BUFFER)

print("server(%s):"%(shijian()), info.decode("utf-8"))

# 给服务器发送消息

    msg =input("enter message(%s):"%(shijian()))

tcp_client.send(msg.encode("utf-8"))

if msg.lower() =='bye':

tcp_client.close()

print("客户端退出...")

break

'''

最讨厌这种缩进问题了,大家都看得懂,我也不调了。加了个时间模块,是为了模拟QQ。

今天就分享这些了,我也不讲解我的代码了,大家就看注释吧。请原谅我的懒惰,谢谢。

好像懒惰是程序员最珍贵的品质啊。

上一篇下一篇

猜你喜欢

热点阅读