猫史档案馆


python聊天室更新啦

用户:苹果真好吃苹果真好吃查看:3 回复:4 评论:3 创建时间:2024-01-30T23:56:44


里面任何一个值都不要改,直接运行(海龟一般不会提示安装库),服务器(我本人的电脑)从明天15:00开始提供24h服务(端口2843)端口6551开启时间早上12:00到晚上24:00(现在还在开),快进来看看!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

import os import uuid import time import threading from socket import * from tkinter import *
serverName = '192.168.31.171'#服务器外网IP serverPort = 6551
root = Tk() root.title('聊天室')
text = Text(root,width = 100,height = 20)
scroll = Scrollbar(root) scroll.pack(side = RIGHT,fill = Y) scroll.config(command = text.yview) text.config(yscrollcommand = scroll.set) text.pack()
entry = Entry(root,bd = 5,width = 70) entry.pack(side = LEFT) entry2 = Entry(root,bd = 5,width = 20)
clientSocket = socket(AF_INET, SOCK_STREAM) print('正在连接...') clientSocket.connect((serverName,serverPort)) print('连接成功!')
msg = clientSocket.recv(2048)#先接收历史记录
if msg.decode() != 'NO_MESSAGE':#有历史记录时 text.insert(END,msg.decode() + '\n----以上是历史记录----\n') text.see(END)
def get_mac_address():#由于用户名可以随时换,用MAC地址作为标识了 mac = uuid.UUID(int = uuid.getnode()).hex[-12:] return':'.join([mac[e:e+2]for e inrange(0,11,2)])
def timemark(): timestamp = int(time.time()) timestr = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timestamp)) return'[' + timestr + ']'
def send(): if entry2.get().replace(' ','') == '': text.config(state = 'normal') text.insert(END,'请输入用户名!\n') text.see(END) text.config(state = 'disabled') return if entry.get() == '': text.config(state = 'normal') text.insert(END,'发送内容不能为空!\n') text.see(END) text.config(state = 'disabled') else: clientSocket.send((timemark() + ' ' + get_mac_address() + ' - ' + entry2.get() + '\n ' + entry.get()).encode()) entry.delete(0,'end')
button = Button(root,text = 'SEND',command = send) button.pack(side = RIGHT)
entry2.pack(side = RIGHT) class myThread(threading.Thread): def__init__(self): threading.Thread.__init__(self) def run(self): whileTrue: msg = clientSocket.recv(2048) text.config(state = 'normal') text.insert(END,msg.decode() + '\n') text.see(END) text.config(state = 'disabled') textThread = myThread() textThread.start()
root.mainloop()


回复

上一页1 页 / 共 1下一页
苹果真好吃苹果真好吃

对了,大佬帮我看一下代码,为什么外省连不上

点赞0


评论


苹果真好吃苹果真好吃

import os
import uuid
import time
import threading
from socket import *
from tkinter import *

serverName = '喵'#服务器外网IP
serverPort = 6551

root = Tk()
root.title('聊天室')

text = Text(root,width = 100,height = 20)

scroll = Scrollbar(root)
scroll.pack(side = RIGHT,fill = Y)
scroll.config(command = text.yview)
text.config(yscrollcommand = scroll.set)
text.pack()

entry = Entry(root,bd = 5,width = 70)
entry.pack(side = LEFT)
entry2 = Entry(root,bd = 5,width = 20)

clientSocket = socket(AF_INET, SOCK_STREAM)
print('正在连接...')
clientSocket.connect((serverName,serverPort))
print('连接成功!')

msg = clientSocket.recv(2048)#先接收历史记录

if msg.decode() != 'NO_MESSAGE':#有历史记录时
    text.insert(END,msg.decode() + '\n----以上是历史记录----\n')
text.see(END)

def get_mac_address():#由于用户名可以随时换,用MAC地址作为标识了
    mac = uuid.UUID(int = uuid.getnode()).hex[-12:]
    return ':'.join([mac[e:e+2] for e in range(0,11,2)])

def timemark():
    timestamp = int(time.time())
    timestr = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(timestamp))
    return '[' + timestr + ']'

def send():
    if entry2.get().replace(' ','') == '':
        text.config(state = 'normal')
        text.insert(END,'请输入用户名!\n')
        text.see(END)
        text.config(state = 'disabled')
        return
    if entry.get() == '':
        text.config(state = 'normal')
        text.insert(END,'发送内容不能为空!\n')
        text.see(END)
        text.config(state = 'disabled')
    else:
        clientSocket.send((timemark() + ' ' + get_mac_address() + ' - ' +
                           entry2.get() + '\n    ' + entry.get()).encode())
        entry.delete(0,'end')

button = Button(root,text = 'SEND',command = send)
button.pack(side = RIGHT)

entry2.pack(side = RIGHT)
class myThread(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
    def run(self):
        while True:
            msg = clientSocket.recv(2048)
            text.config(state = 'normal')
            text.insert(END,msg.decode() + '\n')
            text.see(END)
            text.config(state = 'disabled')
textThread = myThread()
textThread.start()

root.mainloop()

点赞0


评论


苹果真好吃苹果真好吃

苹果/Windows软件包可以喵钉、微信(回消息可能不及时)

点赞0


评论


1111111111111111211111111111111112

大佬牛p

点赞0


评论